diff options
| author | zeapo <mohamed@zenadi.com> | 2014-12-04 21:43:27 +0100 |
|---|---|---|
| committer | zeapo <mohamed@zenadi.com> | 2014-12-04 21:43:27 +0100 |
| commit | d98a30ee4828eff9b1b8c28ca917322b502ac08c (patch) | |
| tree | c72d9cbd2de773579498af1c287ed87c577edbe6 /app/src/main/java/com/zeapo/pwdstore/utils | |
| parent | 173248e1bb96fd971027ac8a36fdc7e12825fe23 (diff) | |
| download | HardenedPass-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.java | 27 |
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(); } } } |
