Merge branch 'jgit_beta'

This commit is contained in:
knuthy 2014-10-04 18:26:54 +02:00
commit adbdad88b1
4 changed files with 15 additions and 28 deletions

Binary file not shown.

View file

@ -31,7 +31,7 @@ repositories {
dependencies {
//compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':libraries:openpgp-api-lib')
compile 'org.eclipse.jgit:org.eclipse.jgit:3.4.1.+'
compile 'org.eclipse.jgit:org.eclipse.jgit:3.5.+'
compile 'org.apache.commons:commons-io:1.3.2'
compile ('com.fortysevendeg.swipelistview:swipelistview:1.0-SNAPSHOT@aar') {
transitive = true

View file

@ -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();
}

View file

@ -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