Browse Source

git rev-parse: Add --verify option

Add the --verify option to be more compatible with git

Change-Id: I225a36ecc4711fd2eb9af67ca8fb79681d94c587
Signed-off-by: Thomas Meyer <thomas.mey@web.de>
stable-4.3
Thomas Meyer 9 years ago committed by Jonathan Nieder
parent
commit
68cea21f53
  1. 1
      org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/internal/CLIText.properties
  2. 18
      org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/RevParse.java
  3. 1
      org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/internal/CLIText.java

1
org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/internal/CLIText.properties

@ -128,6 +128,7 @@ metaVar_user=USER
metaVar_version=VERSION metaVar_version=VERSION
mostCommonlyUsedCommandsAre=The most commonly used commands are: mostCommonlyUsedCommandsAre=The most commonly used commands are:
needApprovalToDestroyCurrentRepository=Need approval to destroy current repository needApprovalToDestroyCurrentRepository=Need approval to destroy current repository
needSingleRevision=Needed a single revision
noGitRepositoryConfigured=No Git repository configured. noGitRepositoryConfigured=No Git repository configured.
noNamesFound=No names found, cannot describe anything. noNamesFound=No names found, cannot describe anything.
noSuchFile=no such file: {0} noSuchFile=no such file: {0}

18
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/RevParse.java

@ -1,6 +1,7 @@
/* /*
* Copyright (C) 2009, Daniel Cheng (aka SDiZ) <git@sdiz.net> * Copyright (C) 2009, Daniel Cheng (aka SDiZ) <git@sdiz.net>
* Copyright (C) 2009, Daniel Cheng (aka SDiZ) <j16sdiz+freenet@gmail.com> * Copyright (C) 2009, Daniel Cheng (aka SDiZ) <j16sdiz+freenet@gmail.com>
* Copyright (C) 2015 Thomas Meyer <thomas@m3y3r.de>
* and other copyright owners as documented in the project's IP log. * and other copyright owners as documented in the project's IP log.
* *
* This program and the accompanying materials are made available * This program and the accompanying materials are made available
@ -51,14 +52,19 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import org.kohsuke.args4j.Argument; import org.kohsuke.args4j.Argument;
import org.kohsuke.args4j.CmdLineException;
import org.kohsuke.args4j.Option; import org.kohsuke.args4j.Option;
import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.lib.Ref; import org.eclipse.jgit.lib.Ref;
import org.eclipse.jgit.pgm.internal.CLIText;;
@Command(usage = "usage_RevParse") @Command(usage = "usage_RevParse")
class RevParse extends TextBuiltin { class RevParse extends TextBuiltin {
@Option(name = "--all", usage = "usage_RevParseAll") @Option(name = "--all", usage = "usage_RevParseAll")
boolean all = false; boolean all;
@Option(name = "--verify", usage = "usage_RevParseVerify")
boolean verify;
@Argument(index = 0, metaVar = "metaVar_commitish") @Argument(index = 0, metaVar = "metaVar_commitish")
private final List<ObjectId> commits = new ArrayList<ObjectId>(); private final List<ObjectId> commits = new ArrayList<ObjectId>();
@ -67,11 +73,17 @@ class RevParse extends TextBuiltin {
protected void run() throws Exception { protected void run() throws Exception {
if (all) { if (all) {
Map<String, Ref> allRefs = db.getRefDatabase().getRefs(ALL); Map<String, Ref> allRefs = db.getRefDatabase().getRefs(ALL);
for (final Ref r : allRefs.values()) for (final Ref r : allRefs.values()) {
outw.println(r.getObjectId().name()); outw.println(r.getObjectId().name());
}
} else { } else {
for (final ObjectId o : commits) if (verify && commits.size() > 1) {
throw new CmdLineException(CLIText.get().needSingleRevision);
}
for (final ObjectId o : commits) {
outw.println(o.name()); outw.println(o.name());
} }
} }
}
} }

1
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/internal/CLIText.java

@ -187,6 +187,7 @@ public class CLIText extends TranslationBundle {
/***/ public String metaVar_version; /***/ public String metaVar_version;
/***/ public String mostCommonlyUsedCommandsAre; /***/ public String mostCommonlyUsedCommandsAre;
/***/ public String needApprovalToDestroyCurrentRepository; /***/ public String needApprovalToDestroyCurrentRepository;
/***/ public String needSingleRevision;
/***/ public String noGitRepositoryConfigured; /***/ public String noGitRepositoryConfigured;
/***/ public String noNamesFound; /***/ public String noNamesFound;
/***/ public String noSuchFile; /***/ public String noSuchFile;

Loading…
Cancel
Save