[PATCH] reflog: handle lightweight and annotated tags equally

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



When 'git reflog <tag>' is called on a lightweight tag, nothing is
output. However, when called on an annotated tag, shortened SHA-1s for
all reachable commits are written on a single line.

Teach add_pending_object_with_mode() to handle OBJ_TAG, so that 'git
reflog' on an annotated tag is quiet, like it is for lightweight tags,
commits and blobs.

Signed-off-by: Torstein Hegge <hegge@xxxxxxxxxxx>
---
Try 'GIT_PAGER=cat git reflog v1.8.4' on git.git to see an example of
this rather unexpected behavior.

 revision.c             |  2 +-
 t/t1411-reflog-show.sh | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+), 1 deletion(-)

diff --git a/revision.c b/revision.c
index 0173e01..fa4e660 100644
--- a/revision.c
+++ b/revision.c
@@ -198,7 +198,7 @@ static void add_pending_object_with_mode(struct rev_info *revs,
 		return;
 	if (revs->no_walk && (obj->flags & UNINTERESTING))
 		revs->no_walk = 0;
-	if (revs->reflog_info && obj->type == OBJ_COMMIT) {
+	if (revs->reflog_info) {
 		struct strbuf buf = STRBUF_INIT;
 		int len = interpret_branch_name(name, 0, &buf);
 		int st;
diff --git a/t/t1411-reflog-show.sh b/t/t1411-reflog-show.sh
index 6f47c0d..de9fb8d 100755
--- a/t/t1411-reflog-show.sh
+++ b/t/t1411-reflog-show.sh
@@ -166,4 +166,32 @@ test_expect_success 'git log -g -p shows diffs vs. parents' '
 	test_cmp expect actual
 '
 
+test_expect_success 'add annotated tag' '
+	git tag -a -m "tag message" annotated-tag
+'
+
+: >expect
+test_expect_success 'reflog on a tag' '
+	git reflog two >actual &&
+	test_cmp expect actual
+'
+
+: >expect
+test_expect_success 'reflog on an annotated tag' '
+	git reflog annotated-tag >actual &&
+	test_cmp expect actual
+'
+
+: >expect
+test_expect_success 'log -g on a tag' '
+	git log -g two >actual &&
+	test_cmp expect actual
+'
+
+: >expect
+test_expect_success 'log -g on an annotated tag' '
+	git log -g annotated-tag >actual &&
+	test_cmp expect actual
+'
+
 test_done
-- 
1.8.4.1.808.g053d237

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]