corrected some bugs in repository creation
This commit is contained in:
parent
57948768c0
commit
27ac841e6d
2 changed files with 14 additions and 27 deletions
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue