1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-05-24 23:36:12 +02:00

avoid accessing _all_ loose refs in git-show-ref --verify

If you want to verify a ref, it is overkill to first read all loose refs
into a linked list, and then check if the desired ref is there.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
This commit is contained in:
Junio C Hamano 2006-12-17 18:08:52 -08:00
parent ed9f7c954c
commit 26cdd1e7c7

View File

@ -213,6 +213,23 @@ int cmd_show_ref(int argc, const char **argv, const char *prefix)
return exclude_existing(arg + 19);
usage(show_ref_usage);
}
if (verify) {
unsigned char sha1[20];
while (*pattern) {
if (resolve_ref(*pattern, sha1, 1, NULL))
printf("%s %s\n", sha1_to_hex(sha1),
*pattern);
else if (!quiet)
die("'%s' - not a valid ref", *pattern);
else
return 1;
pattern++;
}
return 0;
}
if (show_head)
head_ref(show_ref, NULL);
for_each_ref(show_ref, NULL);