Change-Id: If01fa896537209821d6a7a262ee978572195a397 Signed-off-by: David Pursehouse <david.pursehouse@sonymobile.com>tags/v4.2.0.201601211800-r
@@ -57,6 +57,7 @@ import org.kohsuke.args4j.Option; | |||
import org.eclipse.jgit.lib.ObjectId; | |||
import org.eclipse.jgit.lib.Ref; | |||
import org.eclipse.jgit.pgm.internal.CLIText; | |||
import org.eclipse.jgit.pgm.opt.CmdLineParser; | |||
@Command(usage = "usage_RevParse") | |||
class RevParse extends TextBuiltin { | |||
@@ -78,7 +79,8 @@ class RevParse extends TextBuiltin { | |||
} | |||
} else { | |||
if (verify && commits.size() > 1) { | |||
throw new CmdLineException(CLIText.get().needSingleRevision); | |||
final CmdLineParser clp = new CmdLineParser(this); | |||
throw new CmdLineException(clp, CLIText.get().needSingleRevision); | |||
} | |||
for (final ObjectId o : commits) { |
@@ -109,7 +109,7 @@ public class AbstractTreeIteratorHandler extends | |||
try { | |||
dirc = DirCache.read(new File(name), FS.DETECTED); | |||
} catch (IOException e) { | |||
throw new CmdLineException(MessageFormat.format(CLIText.get().notAnIndexFile, name), e); | |||
throw new CmdLineException(clp, MessageFormat.format(CLIText.get().notAnIndexFile, name), e); | |||
} | |||
setter.addValue(new DirCacheIterator(dirc)); | |||
return 1; | |||
@@ -119,20 +119,20 @@ public class AbstractTreeIteratorHandler extends | |||
try { | |||
id = clp.getRepository().resolve(name); | |||
} catch (IOException e) { | |||
throw new CmdLineException(e.getMessage()); | |||
throw new CmdLineException(clp, e.getMessage()); | |||
} | |||
if (id == null) | |||
throw new CmdLineException(MessageFormat.format(CLIText.get().notATree, name)); | |||
throw new CmdLineException(clp, MessageFormat.format(CLIText.get().notATree, name)); | |||
final CanonicalTreeParser p = new CanonicalTreeParser(); | |||
try (ObjectReader curs = clp.getRepository().newObjectReader()) { | |||
p.reset(curs, clp.getRevWalk().parseTree(id)); | |||
} catch (MissingObjectException e) { | |||
throw new CmdLineException(MessageFormat.format(CLIText.get().notATree, name)); | |||
throw new CmdLineException(clp, MessageFormat.format(CLIText.get().notATree, name)); | |||
} catch (IncorrectObjectTypeException e) { | |||
throw new CmdLineException(MessageFormat.format(CLIText.get().notATree, name)); | |||
throw new CmdLineException(clp, MessageFormat.format(CLIText.get().notATree, name)); | |||
} catch (IOException e) { | |||
throw new CmdLineException(MessageFormat.format(CLIText.get().cannotReadBecause, name, e.getMessage())); | |||
throw new CmdLineException(clp, MessageFormat.format(CLIText.get().cannotReadBecause, name, e.getMessage())); | |||
} | |||
setter.addValue(p); |
@@ -86,14 +86,14 @@ public class ObjectIdHandler extends OptionHandler<ObjectId> { | |||
try { | |||
id = clp.getRepository().resolve(name); | |||
} catch (IOException e) { | |||
throw new CmdLineException(e.getMessage()); | |||
throw new CmdLineException(clp, e.getMessage()); | |||
} | |||
if (id != null) { | |||
setter.addValue(id); | |||
return 1; | |||
} | |||
throw new CmdLineException(MessageFormat.format(CLIText.get().notAnObject, name)); | |||
throw new CmdLineException(clp, MessageFormat.format(CLIText.get().notAnObject, name)); | |||
} | |||
@Override |
@@ -96,8 +96,10 @@ public class RevCommitHandler extends OptionHandler<RevCommit> { | |||
final int dot2 = name.indexOf(".."); //$NON-NLS-1$ | |||
if (dot2 != -1) { | |||
if (!option.isMultiValued()) | |||
throw new CmdLineException(MessageFormat.format(CLIText.get().onlyOneMetaVarExpectedIn | |||
, option.metaVar(), name)); | |||
throw new CmdLineException(clp, | |||
MessageFormat.format( | |||
CLIText.get().onlyOneMetaVarExpectedIn, | |||
option.metaVar(), name)); | |||
final String left = name.substring(0, dot2); | |||
final String right = name.substring(dot2 + 2); | |||
@@ -116,20 +118,20 @@ public class RevCommitHandler extends OptionHandler<RevCommit> { | |||
try { | |||
id = clp.getRepository().resolve(name); | |||
} catch (IOException e) { | |||
throw new CmdLineException(e.getMessage()); | |||
throw new CmdLineException(clp, e.getMessage()); | |||
} | |||
if (id == null) | |||
throw new CmdLineException(MessageFormat.format(CLIText.get().notACommit, name)); | |||
throw new CmdLineException(clp, MessageFormat.format(CLIText.get().notACommit, name)); | |||
final RevCommit c; | |||
try { | |||
c = clp.getRevWalk().parseCommit(id); | |||
} catch (MissingObjectException e) { | |||
throw new CmdLineException(MessageFormat.format(CLIText.get().notACommit, name)); | |||
throw new CmdLineException(clp, MessageFormat.format(CLIText.get().notACommit, name)); | |||
} catch (IncorrectObjectTypeException e) { | |||
throw new CmdLineException(MessageFormat.format(CLIText.get().notACommit, name)); | |||
throw new CmdLineException(clp, MessageFormat.format(CLIText.get().notACommit, name)); | |||
} catch (IOException e) { | |||
throw new CmdLineException(MessageFormat.format(CLIText.get().cannotReadBecause, name, e.getMessage())); | |||
throw new CmdLineException(clp, MessageFormat.format(CLIText.get().cannotReadBecause, name, e.getMessage())); | |||
} | |||
if (interesting) |
@@ -89,20 +89,20 @@ public class RevTreeHandler extends OptionHandler<RevTree> { | |||
try { | |||
id = clp.getRepository().resolve(name); | |||
} catch (IOException e) { | |||
throw new CmdLineException(e.getMessage()); | |||
throw new CmdLineException(clp, e.getMessage()); | |||
} | |||
if (id == null) | |||
throw new CmdLineException(MessageFormat.format(CLIText.get().notATree, name)); | |||
throw new CmdLineException(clp, MessageFormat.format(CLIText.get().notATree, name)); | |||
final RevTree c; | |||
try { | |||
c = clp.getRevWalk().parseTree(id); | |||
} catch (MissingObjectException e) { | |||
throw new CmdLineException(MessageFormat.format(CLIText.get().notATree, name)); | |||
throw new CmdLineException(clp, MessageFormat.format(CLIText.get().notATree, name)); | |||
} catch (IncorrectObjectTypeException e) { | |||
throw new CmdLineException(MessageFormat.format(CLIText.get().notATree, name)); | |||
throw new CmdLineException(clp, MessageFormat.format(CLIText.get().notATree, name)); | |||
} catch (IOException e) { | |||
throw new CmdLineException(MessageFormat.format(CLIText.get().cannotReadBecause, name, e.getMessage())); | |||
throw new CmdLineException(clp, MessageFormat.format(CLIText.get().cannotReadBecause, name, e.getMessage())); | |||
} | |||
setter.addValue(c); | |||
return 1; |
@@ -63,6 +63,8 @@ import org.eclipse.jgit.pgm.internal.CLIText; | |||
* we can execute at runtime with the remaining arguments of the parser. | |||
*/ | |||
public class SubcommandHandler extends OptionHandler<TextBuiltin> { | |||
private final org.eclipse.jgit.pgm.opt.CmdLineParser clp; | |||
/** | |||
* Create a new handler for the command name. | |||
* <p> | |||
@@ -75,6 +77,7 @@ public class SubcommandHandler extends OptionHandler<TextBuiltin> { | |||
public SubcommandHandler(final CmdLineParser parser, | |||
final OptionDef option, final Setter<? super TextBuiltin> setter) { | |||
super(parser, option, setter); | |||
clp = (org.eclipse.jgit.pgm.opt.CmdLineParser) parser; | |||
} | |||
@Override | |||
@@ -82,7 +85,7 @@ public class SubcommandHandler extends OptionHandler<TextBuiltin> { | |||
final String name = params.getParameter(0); | |||
final CommandRef cr = CommandCatalog.get(name); | |||
if (cr == null) | |||
throw new CmdLineException(MessageFormat.format( | |||
throw new CmdLineException(clp, MessageFormat.format( | |||
CLIText.get().notAJgitCommand, name)); | |||
// Force option parsing to stop. Everything after us should |