diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/merge/MergeMessageFormatterTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/merge/MergeMessageFormatterTest.java index 2fbcd093d..04cfa2519 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/merge/MergeMessageFormatterTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/merge/MergeMessageFormatterTest.java @@ -50,6 +50,7 @@ import java.util.Arrays; import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.ObjectIdRef; import org.eclipse.jgit.lib.Ref; +import org.eclipse.jgit.lib.SymbolicRef; import org.eclipse.jgit.lib.Ref.Storage; import org.eclipse.jgit.lib.RefUpdate; import org.eclipse.jgit.lib.SampleDataRepositoryTestCase; @@ -166,4 +167,13 @@ public class MergeMessageFormatterTest extends SampleDataRepositoryTestCase { String message = formatter.format(Arrays.asList(a), b); assertEquals("Merge branch 'a' into b", message); } + + @Test + public void testIntoSymbolicRefHeadPointingToMaster() throws IOException { + Ref a = db.getRef("refs/heads/a"); + Ref master = db.getRef("refs/heads/master"); + SymbolicRef head = new SymbolicRef("HEAD", master); + String message = formatter.format(Arrays.asList(a), head); + assertEquals("Merge branch 'a'", message); + } } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/merge/MergeMessageFormatter.java b/org.eclipse.jgit/src/org/eclipse/jgit/merge/MergeMessageFormatter.java index cb2f8a522..cdd7a2f37 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/merge/MergeMessageFormatter.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/merge/MergeMessageFormatter.java @@ -113,7 +113,8 @@ public class MergeMessageFormatter { sb.append(StringUtils.join(listings, ", ")); - if (!target.getName().equals(Constants.R_HEADS + Constants.MASTER)) { + String targetName = target.getLeaf().getName(); + if (!targetName.equals(Constants.R_HEADS + Constants.MASTER)) { String targetShortName = Repository .shortenRefName(target.getName()); sb.append(" into " + targetShortName);