aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/com/zeapo/pwdstore/utils
diff options
context:
space:
mode:
authorzeapo <mohamed@zenadi.com>2014-12-04 21:43:27 +0100
committerzeapo <mohamed@zenadi.com>2014-12-04 21:43:27 +0100
commitd98a30ee4828eff9b1b8c28ca917322b502ac08c (patch)
treec72d9cbd2de773579498af1c287ed87c577edbe6 /app/src/main/java/com/zeapo/pwdstore/utils
parent173248e1bb96fd971027ac8a36fdc7e12825fe23 (diff)
downloadHardenedPass-d98a30ee4828eff9b1b8c28ca917322b502ac08c.tar.gz
HardenedPass-d98a30ee4828eff9b1b8c28ca917322b502ac08c.zip
Add the possibility to edit git server information
Also uses jgit 3.6
Diffstat (limited to 'app/src/main/java/com/zeapo/pwdstore/utils')
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/utils/PasswordRepository.java27
1 files changed, 24 insertions, 3 deletions
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 31dea887..6e7de7f1 100644
--- a/app/src/main/java/com/zeapo/pwdstore/utils/PasswordRepository.java
+++ b/app/src/main/java/com/zeapo/pwdstore/utils/PasswordRepository.java
@@ -63,16 +63,15 @@ public class PasswordRepository {
getRepository(localDir);
}
- // TODO add remote edition later-on
// TODO add multiple remotes support for pull/push
- public static void addRemote(String name, String url) {
+ public static void addRemote(String name, String url, Boolean replace) {
StoredConfig storedConfig = repository.getConfig();
Set<String> remotes = storedConfig.getSubsections("remote");
if (!remotes.contains(name)) {
try {
URIish uri = new URIish(url);
- RefSpec refSpec = new RefSpec("+refs/head/*:refs/remotes/"+ name + "/*");
+ RefSpec refSpec = new RefSpec("+refs/head/*:refs/remotes/" + name + "/*");
RemoteConfig remoteConfig = new RemoteConfig(storedConfig, name);
remoteConfig.addFetchRefSpec(refSpec);
@@ -84,7 +83,29 @@ public class PasswordRepository {
storedConfig.save();
} catch (Exception e) {
+ e.printStackTrace();
+ }
+ } else if (replace) {
+ try {
+ URIish uri = new URIish(url);
+
+ RemoteConfig remoteConfig = new RemoteConfig(storedConfig, name);
+ // remove the first and eventually the only uri
+ if (remoteConfig.getURIs().size() > 0) {
+ remoteConfig.removeURI(remoteConfig.getURIs().get(0));
+ }
+ if (remoteConfig.getPushURIs().size() > 0) {
+ remoteConfig.removePushURI(remoteConfig.getPushURIs().get(0));
+ }
+
+ remoteConfig.addURI(uri);
+ remoteConfig.addPushURI(uri);
+
+ remoteConfig.update(storedConfig);
+ storedConfig.save();
+ } catch (Exception e) {
+ e.printStackTrace();
}
}
}