summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/api/CheckoutCommand.java14
1 files changed, 10 insertions, 4 deletions
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/CheckoutCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/CheckoutCommand.java
index 8caff06292..dd9f0c4567 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/api/CheckoutCommand.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/CheckoutCommand.java
@@ -143,8 +143,8 @@ public class CheckoutCommand extends GitCommand<Ref> {
}
Ref headRef = repo.getRef(Constants.HEAD);
- String refLogMessage = "checkout: moving from "
- + headRef.getTarget().getName();
+ String shortHeadRef = getShortBranchName(headRef);
+ String refLogMessage = "checkout: moving from " + shortHeadRef;
ObjectId branch = repo.resolve(name);
if (branch == null)
throw new RefNotFoundException(MessageFormat.format(JGitText
@@ -169,10 +169,10 @@ public class CheckoutCommand extends GitCommand<Ref> {
Ref ref = repo.getRef(name);
if (ref != null && !ref.getName().startsWith(Constants.R_HEADS))
ref = null;
+ String toName = Repository.shortenRefName(name);
RefUpdate refUpdate = repo.updateRef(Constants.HEAD, ref == null);
refUpdate.setForceUpdate(force);
- refUpdate.setRefLogMessage(refLogMessage + " to "
- + newCommit.getName(), false);
+ refUpdate.setRefLogMessage(refLogMessage + " to " + toName, false);
Result updateResult;
if (ref != null)
updateResult = refUpdate.link(ref.getName());
@@ -216,6 +216,12 @@ public class CheckoutCommand extends GitCommand<Ref> {
}
}
+ private String getShortBranchName(Ref headRef) {
+ if (headRef.getTarget().getName().equals(headRef.getName()))
+ return headRef.getTarget().getObjectId().getName();
+ return Repository.shortenRefName(headRef.getTarget().getName());
+ }
+
/**
* @param path
* Path to update in the working tree and index.