summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2015-12-28 21:58:03 (GMT)
committerJunio C Hamano <gitster@pobox.com>2015-12-28 21:58:04 (GMT)
commit71957339da64100db4114106bbba4e9c5bcf8f86 (patch)
tree4a681fcd9d23ed82c7121c5831cd74a936beff3d
parente929264e8d769cd3637279c0a2b6338f9ec1c4c3 (diff)
parent728350b76a2244e7cf79412f46e990e763ebf89e (diff)
downloadgit-71957339da64100db4114106bbba4e9c5bcf8f86.zip
git-71957339da64100db4114106bbba4e9c5bcf8f86.tar.gz
git-71957339da64100db4114106bbba4e9c5bcf8f86.tar.bz2
Merge branch 'jk/pending-keep-tag-name'
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.c3
-rwxr-xr-xt/t4202-log.sh29
2 files changed, 30 insertions, 2 deletions
diff --git a/revision.c b/revision.c
index 9404a05..0a282f5 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 6ede069..cb82eb7 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