Browse Source

merge: notice local merging of tags and keep it unwrapped

This also updates the autogenerated merge title message from "merge commit X"
to "merge tag X", and its effect can be seen in the changes to the test suite.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Junio C Hamano 13 years ago
parent
commit
57b58db74c
  1. 5
      builtin/merge.c
  2. 4
      t/t4202-log.sh
  3. 6
      t/t7600-merge.sh
  4. 2
      t/t7604-merge-custom-message.sh
  5. 4
      t/t7608-merge-messages.sh

5
builtin/merge.c

@ -441,6 +441,11 @@ static void merge_name(const char *remote, struct strbuf *msg) @@ -441,6 +441,11 @@ static void merge_name(const char *remote, struct strbuf *msg)
sha1_to_hex(branch_head), remote);
goto cleanup;
}
if (!prefixcmp(found_ref, "refs/tags/")) {
strbuf_addf(msg, "%s\t\ttag '%s' of .\n",
sha1_to_hex(branch_head), remote);
goto cleanup;
}
if (!prefixcmp(found_ref, "refs/remotes/")) {
strbuf_addf(msg, "%s\t\tremote-tracking branch '%s' of .\n",
sha1_to_hex(branch_head), remote);

4
t/t4202-log.sh

@ -346,11 +346,11 @@ test_expect_success 'set up more tangled history' ' @@ -346,11 +346,11 @@ test_expect_success 'set up more tangled history' '
'

cat > expect <<\EOF
* Merge commit 'reach'
* Merge tag 'reach'
|\
| \
| \
*-. \ Merge commit 'octopus-a'; commit 'octopus-b'
*-. \ Merge tags 'octopus-a' and 'octopus-b'
|\ \ \
* | | | seventh
| | * | octopus-b

6
t/t7600-merge.sh

@ -38,8 +38,8 @@ printf '%s\n' '1 X' 2 3 4 '5 X' 6 7 8 '9 X' >result.1-5-9 @@ -38,8 +38,8 @@ printf '%s\n' '1 X' 2 3 4 '5 X' 6 7 8 '9 X' >result.1-5-9
>empty

create_merge_msgs () {
echo "Merge commit 'c2'" >msg.1-5 &&
echo "Merge commit 'c2'; commit 'c3'" >msg.1-5-9 &&
echo "Merge tag 'c2'" >msg.1-5 &&
echo "Merge tags 'c2' and 'c3'" >msg.1-5-9 &&
{
echo "Squashed commit of the following:" &&
echo &&
@ -57,7 +57,7 @@ create_merge_msgs () { @@ -57,7 +57,7 @@ create_merge_msgs () {
} >squash.1-5-9 &&
echo >msg.nolog &&
{
echo "* commit 'c3':" &&
echo "* tag 'c3':" &&
echo " commit 3" &&
echo
} >msg.log

2
t/t7604-merge-custom-message.sh

@ -11,7 +11,7 @@ create_merge_msgs() { @@ -11,7 +11,7 @@ create_merge_msgs() {

cp exp.subject exp.log &&
echo >>exp.log "" &&
echo >>exp.log "* commit 'c2':" &&
echo >>exp.log "* tag 'c2':" &&
echo >>exp.log " c2"
}


4
t/t7608-merge-messages.sh

@ -35,7 +35,7 @@ test_expect_success 'merge tag' ' @@ -35,7 +35,7 @@ test_expect_success 'merge tag' '
git checkout master &&
test_commit master-3 &&
git merge tag-1 &&
check_oneline "Merge commit Qtag-1Q"
check_oneline "Merge tag Qtag-1Q"
'

test_expect_success 'ambiguous tag' '
@ -44,7 +44,7 @@ test_expect_success 'ambiguous tag' ' @@ -44,7 +44,7 @@ test_expect_success 'ambiguous tag' '
git checkout master &&
test_commit master-4 &&
git merge ambiguous &&
check_oneline "Merge commit QambiguousQ"
check_oneline "Merge tag QambiguousQ"
'

test_expect_success 'remote-tracking branch' '

Loading…
Cancel
Save