commit - 52b5abe1665698ac9f94f7f2d95482d27e131c16
commit + a436ad14b580220cf835e8386b241b42903a0339
blob - a322f32e174306295c8b5682c8a19d3280485378
blob + 4fa694575494ec8f59dee0522b64488d33737df5
--- got/got.c
+++ got/got.c
SIMPLEQ_FOREACH(re, refs, entry) {
char *s;
const char *name;
- if (got_object_id_cmp(re->id, id) != 0)
- continue;
+ struct got_tag_object *tag = NULL;
+ int cmp;
+
name = got_ref_get_name(re->ref);
if (strcmp(name, GOT_REF_HEAD) == 0)
continue;
name += 6;
if (strncmp(name, "remotes/", 8) == 0)
name += 8;
+ if (strncmp(name, "tags/", 5) == 0) {
+ err = got_object_open_as_tag(&tag, repo, re->id);
+ if (err)
+ break;
+ }
+ cmp = got_object_id_cmp(tag ?
+ got_object_tag_get_object_id(tag) : re->id, id);
+ if (tag)
+ got_object_tag_close(tag);
+ if (cmp != 0)
+ continue;
s = refs_str;
if (asprintf(&refs_str, "%s%s%s", s ? s : "", s ? ", " : "",
name) == -1) {
blob - fa21749675c7093587f9e3be79dea42b3d341fe4
blob + 9b8b3d3b4ca6b8a9fc2e2edc10f2165f8b745964
--- regress/cmdline/log.sh
+++ regress/cmdline/log.sh
(cd $testroot/repo && git tag -a -m "test" $tag)
- echo "commit $commit_id (master)" > $testroot/stdout.expected
+ echo "commit $commit_id (master, tags/$tag)" > $testroot/stdout.expected
(cd $testroot/wt && got log -l1 -c $tag | grep ^commit \
> $testroot/stdout)
cmp -s $testroot/stdout.expected $testroot/stdout