From 27ac841e6d176da293e5cead48566bc00541fc00 Mon Sep 17 00:00:00 2001 From: knuthy Date: Sat, 4 Oct 2014 18:26:16 +0200 Subject: corrected some bugs in repository creation --- .../java/com/zeapo/pwdstore/PasswordStore.java | 11 +++++++- .../zeapo/pwdstore/utils/PasswordRepository.java | 30 +++------------------- 2 files changed, 14 insertions(+), 27 deletions(-) (limited to 'app') diff --git a/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java b/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java index a613b021..20f58cfb 100644 --- a/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java +++ b/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java @@ -156,15 +156,24 @@ public class PasswordStore extends Activity implements ToCloneOrNot.OnFragmentI File localDir = new File(getFilesDir() + "/store/"); localDir.mkdir(); try { + PasswordRepository.createRepository(localDir); + // we take only the first key-id, we have to think about how to handle multiple keys, and why should we do that... // also, for compatibility use short-version of the key-id FileUtils.writeStringToFile(new File(localDir.getAbsolutePath() + "/.gpg-id"), keyId.substring(keyId.length() - 8)); + + Git git = new Git(PasswordRepository.getRepository(new File(""))); + GitAsyncTask tasks = new GitAsyncTask(this, false, false, CommitCommand.class); + tasks.execute( + git.add().addFilepattern("."), + git.commit().setMessage("[ANDROID PwdStore] Initialized store with keyID: " + keyId) + ); } catch (Exception e) { + e.printStackTrace(); localDir.delete(); return; } - PasswordRepository.createRepository(localDir); checkLocalRepository(); } diff --git a/app/src/main/java/com/zeapo/pwdstore/utils/PasswordRepository.java b/app/src/main/java/com/zeapo/pwdstore/utils/PasswordRepository.java index 24a1524c..bc36f1cb 100644 --- a/app/src/main/java/com/zeapo/pwdstore/utils/PasswordRepository.java +++ b/app/src/main/java/com/zeapo/pwdstore/utils/PasswordRepository.java @@ -14,10 +14,8 @@ import org.eclipse.jgit.transport.URIish; import java.io.File; import java.io.FileFilter; -import java.lang.reflect.Array; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collections; import java.util.List; import java.util.Set; @@ -34,7 +32,7 @@ public class PasswordRepository { if (repository == null) { FileRepositoryBuilder builder = new FileRepositoryBuilder(); try { - repository = builder.setGitDir(localDir) + repository = builder.setWorkTree(localDir) .readEnvironment() .findGitDir() .build(); @@ -54,31 +52,11 @@ public class PasswordRepository { initialized = v; } - public static void createRepository(File localDir) { + public static void createRepository(File localDir) throws Exception{ localDir.delete(); - try { - - // create the directory - Repository repository = FileRepositoryBuilder.create(new File(localDir, ".git")); - repository.create(); - - Git.init() - .setDirectory(localDir) - .call(); - - getRepository(localDir); - - new Git(repository) - .branchCreate() - .setName("master") - .call(); - - initialized = true; - } catch (Exception e) { - e.printStackTrace(); - return; - } + Git.init().setDirectory(localDir).call(); + getRepository(localDir); } // TODO add remote edition later-on -- cgit v1.2.3