summaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit
diff options
context:
space:
mode:
authorMario Molina <mmolimar@gmail.com>2018-12-26 10:48:05 +0100
committerJonathan Nieder <jrn@google.com>2019-01-07 20:00:11 -0500
commit6c8240a75126013b7f4588d78e66baa54e89cbfc (patch)
tree2545b4c16768e6a6f256bce5808fbf642adf48ca /org.eclipse.jgit
parent062822dc41013b5c2e5174f7670351b034b4c022 (diff)
downloadjgit-6c8240a75126013b7f4588d78e66baa54e89cbfc.tar.gz
jgit-6c8240a75126013b7f4588d78e66baa54e89cbfc.zip
Return 'this' from setters in commands
To avoid breaking ABI, take the opportunity to give these setters (hopefully sometimes better) names and deprecate their old names. Change-Id: Ib45011678c3d941f8ecc1a1e0fdf4c09cdc337e3 Signed-off-by: Mario Molina <mmolimar@gmail.com> Signed-off-by: Jonathan Nieder <jrn@google.com>
Diffstat (limited to 'org.eclipse.jgit')
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/api/RemoteRemoveCommand.java23
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/api/RemoteSetUrlCommand.java86
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/api/StashApplyCommand.java42
3 files changed, 131 insertions, 20 deletions
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/RemoteRemoveCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/RemoteRemoveCommand.java
index 7a5885cfda..016cb15d90 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/api/RemoteRemoveCommand.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/RemoteRemoveCommand.java
@@ -65,7 +65,7 @@ import org.eclipse.jgit.transport.RemoteConfig;
*/
public class RemoteRemoveCommand extends GitCommand<RemoteConfig> {
- private String name;
+ private String remoteName;
/**
* <p>
@@ -84,9 +84,24 @@ public class RemoteRemoveCommand extends GitCommand<RemoteConfig> {
*
* @param name
* a remote name
+ * @deprecated use {@link #setRemoteName} instead
*/
+ @Deprecated
public void setName(String name) {
- this.name = name;
+ this.remoteName = name;
+ }
+
+ /**
+ * The name of the remote to remove.
+ *
+ * @param remoteName
+ * a remote name
+ * @return {@code this}
+ * @since 5.3
+ */
+ public RemoteRemoveCommand setRemoteName(String remoteName) {
+ this.remoteName = remoteName;
+ return this;
}
/**
@@ -101,8 +116,8 @@ public class RemoteRemoveCommand extends GitCommand<RemoteConfig> {
try {
StoredConfig config = repo.getConfig();
- RemoteConfig remote = new RemoteConfig(config, name);
- config.unsetSection(ConfigConstants.CONFIG_KEY_REMOTE, name);
+ RemoteConfig remote = new RemoteConfig(config, remoteName);
+ config.unsetSection(ConfigConstants.CONFIG_KEY_REMOTE, remoteName);
config.save();
return remote;
} catch (IOException | URISyntaxException e) {
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/RemoteSetUrlCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/RemoteSetUrlCommand.java
index e60d757938..21d4023d67 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/api/RemoteSetUrlCommand.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/RemoteSetUrlCommand.java
@@ -66,11 +66,28 @@ import org.eclipse.jgit.transport.URIish;
*/
public class RemoteSetUrlCommand extends GitCommand<RemoteConfig> {
- private String name;
+ /**
+ * The available URI types for the remote.
+ *
+ * @since 5.3
+ */
+ public enum UriType {
+ /**
+ * Fetch URL for the remote.
+ */
+ FETCH,
+ /**
+ * Push URL for the remote.
+ */
+ PUSH
+ }
- private URIish uri;
- private boolean push;
+ private String remoteName;
+
+ private URIish remoteUri;
+
+ private UriType type;
/**
* <p>
@@ -89,9 +106,24 @@ public class RemoteSetUrlCommand extends GitCommand<RemoteConfig> {
*
* @param name
* a remote name
+ * @deprecated use {@link #setRemoteName} instead
*/
+ @Deprecated
public void setName(String name) {
- this.name = name;
+ this.remoteName = name;
+ }
+
+ /**
+ * The name of the remote to change the URL for.
+ *
+ * @param remoteName
+ * a remote remoteName
+ * @return {@code this}
+ * @since 5.3
+ */
+ public RemoteSetUrlCommand setRemoteName(String remoteName) {
+ this.remoteName = remoteName;
+ return this;
}
/**
@@ -99,9 +131,24 @@ public class RemoteSetUrlCommand extends GitCommand<RemoteConfig> {
*
* @param uri
* an URL for the remote
+ * @deprecated use {@link #setRemoteUri} instead
*/
+ @Deprecated
public void setUri(URIish uri) {
- this.uri = uri;
+ this.remoteUri = uri;
+ }
+
+ /**
+ * The new URL for the remote.
+ *
+ * @param remoteUri
+ * an URL for the remote
+ * @return {@code this}
+ * @since 5.3
+ */
+ public RemoteSetUrlCommand setRemoteUri(URIish remoteUri) {
+ this.remoteUri = remoteUri;
+ return this;
}
/**
@@ -110,9 +157,28 @@ public class RemoteSetUrlCommand extends GitCommand<RemoteConfig> {
* @param push
* <code>true</code> to set the push url, <code>false</code> to
* set the fetch url
+ * @deprecated use {@link #setUriType} instead
*/
+ @Deprecated
public void setPush(boolean push) {
- this.push = push;
+ if (push) {
+ setUriType(UriType.PUSH);
+ } else {
+ setUriType(UriType.FETCH);
+ }
+ }
+
+ /**
+ * Whether to change the push URL of the remote instead of the fetch URL.
+ *
+ * @param type
+ * the <code>UriType</code> value to set
+ * @return {@code this}
+ * @since 5.3
+ */
+ public RemoteSetUrlCommand setUriType(UriType type) {
+ this.type = type;
+ return this;
}
/**
@@ -127,8 +193,8 @@ public class RemoteSetUrlCommand extends GitCommand<RemoteConfig> {
try {
StoredConfig config = repo.getConfig();
- RemoteConfig remote = new RemoteConfig(config, name);
- if (push) {
+ RemoteConfig remote = new RemoteConfig(config, remoteName);
+ if (type == UriType.PUSH) {
List<URIish> uris = remote.getPushURIs();
if (uris.size() > 1) {
throw new JGitInternalException(
@@ -136,7 +202,7 @@ public class RemoteSetUrlCommand extends GitCommand<RemoteConfig> {
} else if (uris.size() == 1) {
remote.removePushURI(uris.get(0));
}
- remote.addPushURI(uri);
+ remote.addPushURI(remoteUri);
} else {
List<URIish> uris = remote.getURIs();
if (uris.size() > 1) {
@@ -145,7 +211,7 @@ public class RemoteSetUrlCommand extends GitCommand<RemoteConfig> {
} else if (uris.size() == 1) {
remote.removeURI(uris.get(0));
}
- remote.addURI(uri);
+ remote.addURI(remoteUri);
}
remote.update(config);
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/StashApplyCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/StashApplyCommand.java
index 01d070cbd9..2136e51c44 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/api/StashApplyCommand.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/StashApplyCommand.java
@@ -96,9 +96,9 @@ public class StashApplyCommand extends GitCommand<ObjectId> {
private String stashRef;
- private boolean applyIndex = true;
+ private boolean restoreIndex = true;
- private boolean applyUntracked = true;
+ private boolean restoreUntracked = true;
private boolean ignoreRepositoryState;
@@ -196,7 +196,7 @@ public class StashApplyCommand extends GitCommand<ObjectId> {
.getParent(1));
ObjectId stashHeadCommit = stashCommit.getParent(0);
ObjectId untrackedCommit = null;
- if (applyUntracked && stashCommit.getParentCount() == 3)
+ if (restoreUntracked && stashCommit.getParentCount() == 3)
untrackedCommit = revWalk.parseCommit(stashCommit.getParent(2));
ResolveMerger merger = (ResolveMerger) strategy.newMerger(repo);
@@ -216,7 +216,7 @@ public class StashApplyCommand extends GitCommand<ObjectId> {
dc, merger.getResultTreeId());
dco.setFailOnConflict(true);
dco.checkout(); // Ignoring failed deletes....
- if (applyIndex) {
+ if (restoreIndex) {
ResolveMerger ixMerger = (ResolveMerger) strategy
.newMerger(repo, true);
ixMerger.setCommitNames(new String[] { "stashed HEAD", //$NON-NLS-1$
@@ -277,9 +277,24 @@ public class StashApplyCommand extends GitCommand<ObjectId> {
*
* @param applyIndex
* true (default) if the command should restore the index state
+ * @deprecated use {@link #setRestoreIndex} instead
*/
+ @Deprecated
public void setApplyIndex(boolean applyIndex) {
- this.applyIndex = applyIndex;
+ this.restoreIndex = applyIndex;
+ }
+
+ /**
+ * Whether to restore the index state
+ *
+ * @param restoreIndex
+ * true (default) if the command should restore the index state
+ * @return {@code this}
+ * @since 5.3
+ */
+ public StashApplyCommand setRestoreIndex(boolean restoreIndex) {
+ this.restoreIndex = restoreIndex;
+ return this;
}
/**
@@ -302,9 +317,24 @@ public class StashApplyCommand extends GitCommand<ObjectId> {
* @param applyUntracked
* true (default) if the command should restore untracked files
* @since 3.4
+ * @deprecated use {@link #setRestoreUntracked} instead
*/
+ @Deprecated
public void setApplyUntracked(boolean applyUntracked) {
- this.applyUntracked = applyUntracked;
+ this.restoreUntracked = applyUntracked;
+ }
+
+ /**
+ * Whether the command should restore untracked files
+ *
+ * @param restoreUntracked
+ * true (default) if the command should restore untracked files
+ * @return {@code this}
+ * @since 5.3
+ */
+ public StashApplyCommand setRestoreUntracked(boolean restoreUntracked) {
+ this.restoreUntracked = restoreUntracked;
+ return this;
}
private void resetIndex(RevTree tree) throws IOException {