diff options
author | Jeff King <peff@peff.net> | 2009-08-09 06:02:24 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-08-09 12:34:20 -0700 |
commit | 751c59746c7522982214528eb653dfb61d372257 (patch) | |
tree | 7be0dd989eaef7dc37804527402533050ba72491 /t | |
parent | add tests for merge message headings (diff) | |
download | tgif-751c59746c7522982214528eb653dfb61d372257.tar.xz |
merge: fix incorrect merge message for ambiguous tag/branch
If we have both a tag and a branch named "foo", then calling
"git merge foo" will warn about the ambiguous ref, but merge
the tag.
When generating the commit message, though, we simply
checked whether "refs/heads/foo" existed, and if it did,
assumed it was a branch. This led to the statement "Merge
branch 'foo'" in the commit message, which is quite wrong.
Instead, we should use dwim_ref to find the actual ref used,
and describe it appropriately.
In addition to the test in t7608, we must also tweak the
expected output of t4202, which was accidentally triggering
this bug.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-x | t/t4202-log.sh | 4 | ||||
-rwxr-xr-x | t/t7608-merge-messages.sh | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/t/t4202-log.sh b/t/t4202-log.sh index 48e0088b47..1e952ca55b 100755 --- a/t/t4202-log.sh +++ b/t/t4202-log.sh @@ -320,11 +320,11 @@ test_expect_success 'set up more tangled history' ' ' cat > expect <<\EOF -* Merge branch 'reach' +* Merge commit 'reach' |\ | \ | \ -*-. \ Merge branches 'octopus-a' and 'octopus-b' +*-. \ Merge commit 'octopus-a'; commit 'octopus-b' |\ \ \ * | | | seventh | | * | octopus-b diff --git a/t/t7608-merge-messages.sh b/t/t7608-merge-messages.sh index 9d10583916..81ced8ac3c 100755 --- a/t/t7608-merge-messages.sh +++ b/t/t7608-merge-messages.sh @@ -38,7 +38,7 @@ test_expect_success 'merge tag' ' check_oneline "Merge commit Qtag-1Q" ' -test_expect_failure 'ambiguous tag' ' +test_expect_success 'ambiguous tag' ' git checkout -b ambiguous master && test_commit ambiguous && git checkout master && |