ui-shared: replace 'unsigned char sha1[20]' with 'struct object_id oid'

Upstream git is replacing 'unsigned char sha1[20]' with 'struct object_id
oid'. We have some code that can be changed independent from upstream. So
here we go...
Bu işleme şunda yer alıyor:
Christian Hesse 2016-09-29 22:10:21 +02:00
ebeveyn 073a8bb396
işleme 6bef566f99

Dosyayı Görüntüle

@ -1074,18 +1074,18 @@ void cgit_print_filemode(unsigned short mode)
void cgit_compose_snapshot_prefix(struct strbuf *filename, const char *base,
const char *ref)
{
unsigned char sha1[20];
struct object_id oid;
/*
* Prettify snapshot names by stripping leading "v" or "V" if the tag
* name starts with {v,V}[0-9] and the prettify mapping is injective,
* i.e. each stripped tag can be inverted without ambiguities.
*/
if (get_sha1(fmt("refs/tags/%s", ref), sha1) == 0 &&
if (get_oid(fmt("refs/tags/%s", ref), &oid) == 0 &&
(ref[0] == 'v' || ref[0] == 'V') && isdigit(ref[1]) &&
((get_sha1(fmt("refs/tags/%s", ref + 1), sha1) == 0) +
(get_sha1(fmt("refs/tags/v%s", ref + 1), sha1) == 0) +
(get_sha1(fmt("refs/tags/V%s", ref + 1), sha1) == 0) == 1))
((get_oid(fmt("refs/tags/%s", ref + 1), &oid) == 0) +
(get_oid(fmt("refs/tags/v%s", ref + 1), &oid) == 0) +
(get_oid(fmt("refs/tags/V%s", ref + 1), &oid) == 0) == 1))
ref++;
strbuf_addf(filename, "%s-%s", base, ref);