commit - 5a8b5076742038c09dece0c1e59ecddf8cd7a41a
commit + 785d65a4b3057e85fda2a59c84f19be80408935a
blob - e604a6980724929b924f7abf1a893dcaafca0590
blob + 4c8c8ac61ee774c04b4daf2fe2e46b0b82fed5ac
--- lib/repository.c
+++ lib/repository.c
struct got_reflist_head refs;
struct got_reflist_entry *re;
struct got_object_id *tag_id;
+ int name_is_absolute = (strncmp(name, "refs/", 5) == 0);
SIMPLEQ_INIT(&refs);
*tag = NULL;
refname = got_ref_get_name(re->ref);
if (got_ref_is_symbolic(re->ref))
continue;
- refname += strlen("refs/tags/");
+ if (!name_is_absolute)
+ refname += strlen("refs/tags/");
if (strcmp(refname, name) != 0)
continue;
err = got_ref_resolve(&tag_id, repo, re->ref);