about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--ui-shared.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/ui-shared.c b/ui-shared.c index 3fa36d6..2e4fcd9 100644 --- a/ui-shared.c +++ b/ui-shared.c
@@ -1074,18 +1074,18 @@ void cgit_print_filemode(unsigned short mode)
1074void cgit_compose_snapshot_prefix(struct strbuf *filename, const char *base, 1074void cgit_compose_snapshot_prefix(struct strbuf *filename, const char *base,
1075 const char *ref) 1075 const char *ref)
1076{ 1076{
1077 unsigned char sha1[20]; 1077 struct object_id oid;
1078 1078
1079 /* 1079 /*
1080 * Prettify snapshot names by stripping leading "v" or "V" if the tag 1080 * Prettify snapshot names by stripping leading "v" or "V" if the tag
1081 * name starts with {v,V}[0-9] and the prettify mapping is injective, 1081 * name starts with {v,V}[0-9] and the prettify mapping is injective,
1082 * i.e. each stripped tag can be inverted without ambiguities. 1082 * i.e. each stripped tag can be inverted without ambiguities.
1083 */ 1083 */
1084 if (get_sha1(fmt("refs/tags/%s", ref), sha1) == 0 && 1084 if (get_oid(fmt("refs/tags/%s", ref), &oid) == 0 &&
1085 (ref[0] == 'v' || ref[0] == 'V') && isdigit(ref[1]) && 1085 (ref[0] == 'v' || ref[0] == 'V') && isdigit(ref[1]) &&
1086 ((get_sha1(fmt("refs/tags/%s", ref + 1), sha1) == 0) + 1086 ((get_oid(fmt("refs/tags/%s", ref + 1), &oid) == 0) +
1087 (get_sha1(fmt("refs/tags/v%s", ref + 1), sha1) == 0) + 1087 (get_oid(fmt("refs/tags/v%s", ref + 1), &oid) == 0) +
1088 (get_sha1(fmt("refs/tags/V%s", ref + 1), sha1) == 0) == 1)) 1088 (get_oid(fmt("refs/tags/V%s", ref + 1), &oid) == 0) == 1))
1089 ref++; 1089 ref++;
1090 1090
1091 strbuf_addf(filename, "%s-%s", base, ref); 1091 strbuf_addf(filename, "%s-%s", base, ref);