diff options
Diffstat (limited to 'org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Checkout.java')
-rw-r--r-- | org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Checkout.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Checkout.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Checkout.java index 98724bfceb..7a218ec926 100644 --- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Checkout.java +++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Checkout.java @@ -18,6 +18,7 @@ import java.util.List; import org.eclipse.jgit.api.CheckoutCommand; import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.errors.CheckoutConflictException; +import org.eclipse.jgit.api.errors.InvalidRefNameException; import org.eclipse.jgit.api.errors.RefAlreadyExistsException; import org.eclipse.jgit.api.errors.RefNotFoundException; import org.eclipse.jgit.lib.Constants; @@ -51,7 +52,6 @@ class Checkout extends TextBuiltin { @Option(name = "--", metaVar = "metaVar_paths", handler = RestOfArgumentsHandler.class) private List<String> paths = new ArrayList<>(); - /** {@inheritDoc} */ @Override protected void run() throws Exception { if (createBranch) { @@ -95,7 +95,16 @@ class Checkout extends TextBuiltin { outw.println(MessageFormat.format( CLIText.get().switchedToBranch, Repository.shortenRefName(ref.getName()))); - } catch (RefNotFoundException e) { + } catch (InvalidRefNameException e){ + if (name == null){ + throw die(MessageFormat + .format("a valid ref is expected",e)); + } else { + throw die(MessageFormat + .format(CLIText.get().notAValidRefName, name, e)); + } + } + catch (RefNotFoundException e) { throw die(MessageFormat .format(CLIText.get().pathspecDidNotMatch, name), e); } catch (RefAlreadyExistsException e) { |