summaryrefslogtreecommitdiff
path: root/line-log.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2016-06-14 20:38:14 (GMT)
committerJunio C Hamano <gitster@pobox.com>2016-06-14 20:38:14 (GMT)
commit31da121f2d316575ec3c82dfc0c7442cdb7a7740 (patch)
treeeb99d36a001a4d5a1b5a047cdfd1cc619fef027d /line-log.c
parent765428699a5381f113d19974720bc91b5bfeaf1d (diff)
downloadgit-31da121f2d316575ec3c82dfc0c7442cdb7a7740.zip
git-31da121f2d316575ec3c82dfc0c7442cdb7a7740.tar.gz
git-31da121f2d316575ec3c82dfc0c7442cdb7a7740.tar.bz2
blame, line-log: do not loop around deref_tag()
These callers appear to expect that deref_tag() is to peel one layer of a tag, but the function does not work that way; it has its own loop to unwrap tags until an object that is not a tag appears. Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'line-log.c')
-rw-r--r--line-log.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/line-log.c b/line-log.c
index 626b22c..2aa33be 100644
--- a/line-log.c
+++ b/line-log.c
@@ -479,8 +479,7 @@ static struct commit *check_single_commit(struct rev_info *revs)
struct object *obj = revs->pending.objects[i].item;
if (obj->flags & UNINTERESTING)
continue;
- while (obj->type == OBJ_TAG)
- obj = deref_tag(obj, NULL, 0);
+ obj = deref_tag(obj, NULL, 0);
if (obj->type != OBJ_COMMIT)
die("Non commit %s?", revs->pending.objects[i].name);
if (commit)