diff options
author | Junio C Hamano <gitster@pobox.com> | 2016-01-04 14:03:07 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-01-04 14:03:08 -0800 |
commit | e3073cf895f335c6544d17b143c6e272436d149f (patch) | |
tree | fc72c5d5f8e219b8678b70243e77bc441df0758f | |
parent | Merge branch 'jk/symbolic-ref-maint' into maint (diff) | |
parent | revision.c: propagate tag names from pending array (diff) | |
download | tgif-e3073cf895f335c6544d17b143c6e272436d149f.tar.xz |
Merge branch 'jk/pending-keep-tag-name' into maint
History traversal with "git log --source" that starts with an
annotated tag failed to report the tag as "source", due to an
old regression in the command line parser back in v2.2 days.
* jk/pending-keep-tag-name:
revision.c: propagate tag names from pending array
-rw-r--r-- | revision.c | 3 | ||||
-rwxr-xr-x | t/t4202-log.sh | 29 |
2 files changed, 30 insertions, 2 deletions
diff --git a/revision.c b/revision.c index f6caef0672..e0107738b7 100644 --- a/revision.c +++ b/revision.c @@ -294,9 +294,8 @@ static struct commit *handle_commit(struct rev_info *revs, /* * We'll handle the tagged object by looping or dropping * through to the non-tag handlers below. Do not - * propagate data from the tag's pending entry. + * propagate path data from the tag's pending entry. */ - name = ""; path = NULL; mode = 0; } diff --git a/t/t4202-log.sh b/t/t4202-log.sh index 6ede0692f6..cb82eb7e66 100755 --- a/t/t4202-log.sh +++ b/t/t4202-log.sh @@ -908,4 +908,33 @@ test_expect_success 'log diagnoses bogus HEAD' ' test_i18ngrep broken stderr ' +test_expect_success 'set up --source tests' ' + git checkout --orphan source-a && + test_commit one && + test_commit two && + git checkout -b source-b HEAD^ && + test_commit three +' + +test_expect_success 'log --source paints branch names' ' + cat >expect <<-\EOF && + 09e12a9 source-b three + 8e393e1 source-a two + 1ac6c77 source-b one + EOF + git log --oneline --source source-a source-b >actual && + test_cmp expect actual +' + +test_expect_success 'log --source paints tag names' ' + git tag -m tagged source-tag && + cat >expect <<-\EOF && + 09e12a9 source-tag three + 8e393e1 source-a two + 1ac6c77 source-tag one + EOF + git log --oneline --source source-tag source-a >actual && + test_cmp expect actual +' + test_done |