aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaloyan Raev2014-02-24 09:03:51 (EST)
committerMatthias Sohn2014-02-26 09:52:25 (EST)
commit44812c02e844c91869c3c43f5187fe23b5426275 (patch)
tree877762227064df17041aa0227d7f7f163aec6691
parentdf4aca21664757adcd8a65145404ffc7f6bb7d12 (diff)
downloadjgit-44812c02e844c91869c3c43f5187fe23b5426275.zip
jgit-44812c02e844c91869c3c43f5187fe23b5426275.tar.gz
jgit-44812c02e844c91869c3c43f5187fe23b5426275.tar.bz2
CLI clone command should support --no-checkoutrefs/changes/41/22441/2
doCheckout() is called only if --no-checkout option is not set. Bug: 428917 Change-Id: I350bef446dd7a37613b9506aae99679569bd36e1 Signed-off-by: Kaloyan Raev <kaloyan.r@zend.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
-rw-r--r--org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/internal/CLIText.properties1
-rw-r--r--org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Clone.java24
2 files changed, 16 insertions, 9 deletions
diff --git a/org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/internal/CLIText.properties b/org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/internal/CLIText.properties
index ca32479..53c1b35 100644
--- a/org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/internal/CLIText.properties
+++ b/org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/internal/CLIText.properties
@@ -293,6 +293,7 @@ usage_mergeRef=Ref to be merged
usage_mergeStrategy=Use the given merge strategy. Can be supplied more than once to specify them in the order they should be tried. If there is no -s option, the recursive strategy is used. Currently the following strategies are supported: ours, theirs, simple-two-way-in-core, resolve, recursive
usage_moveRenameABranch=move/rename a branch
usage_nameStatus=show only name and status of files
+usage_noCheckoutAfterClone=no checkout of HEAD is performed after the clone is complete
usage_noCommit=Don't commit after a successful merge
usage_noPrefix=do not show any source or destination prefix
usage_noRenames=disable rename detection
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Clone.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Clone.java
index 888f54d..d9a877c 100644
--- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Clone.java
+++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Clone.java
@@ -79,6 +79,9 @@ class Clone extends AbstractFetchCommand {
@Option(name = "--branch", aliases = { "-b" }, metaVar = "metaVar_branchName", usage = "usage_checkoutBranchAfterClone")
private String branch;
+ @Option(name = "--no-checkout", aliases = { "-n" }, usage = "usage_noCheckoutAfterClone")
+ private boolean noCheckout;
+
@Argument(index = 0, required = true, metaVar = "metaVar_uriish")
private String sourceUri;
@@ -122,16 +125,19 @@ class Clone extends AbstractFetchCommand {
saveRemote(uri);
final FetchResult r = runFetch();
- final Ref checkoutRef;
- if (branch == null)
- checkoutRef = guessHEAD(r);
- else {
- checkoutRef = r.getAdvertisedRef(Constants.R_HEADS + branch);
- if (checkoutRef == null)
- throw die(MessageFormat.format(CLIText.get().noSuchRemoteRef,
- branch));
+
+ if (!noCheckout) {
+ final Ref checkoutRef;
+ if (branch == null)
+ checkoutRef = guessHEAD(r);
+ else {
+ checkoutRef = r.getAdvertisedRef(Constants.R_HEADS + branch);
+ if (checkoutRef == null)
+ throw die(MessageFormat.format(
+ CLIText.get().noSuchRemoteRef, branch));
+ }
+ doCheckout(checkoutRef);
}
- doCheckout(checkoutRef);
}
private void saveRemote(final URIish uri) throws URISyntaxException,