1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-05-29 02:46:38 +02:00

Make git-fsck-cache error printouts a bit more informative.

Show the types of objects involved in broken links, and don't bother
warning about unreachable tag files (if somebody cares about tags,
they'll use the --tags flag to see them).
This commit is contained in:
Linus Torvalds 2005-04-30 11:22:26 -07:00
parent 9b23b4bc1c
commit 3a6a23e67d

View File

@ -23,27 +23,33 @@ static void check_connectivity(void)
struct object *obj = objs[i];
struct object_list *refs;
if (!obj->parsed) {
printf("missing %s %s\n", obj->type, sha1_to_hex(obj->sha1));
continue;
}
for (refs = obj->refs; refs; refs = refs->next) {
if (refs->item->parsed)
continue;
printf("broken link from %7s %s\n",
obj->type, sha1_to_hex(obj->sha1));
printf(" to %7s %s\n",
obj->type, sha1_to_hex(refs->item->sha1));
}
/* Don't bother with tag reachability. */
if (obj->type == tag_type)
continue;
if (show_unreachable && !(obj->flags & REACHABLE)) {
printf("unreachable %s %s\n", obj->type, sha1_to_hex(obj->sha1));
continue;
}
if (!obj->parsed) {
printf("missing %s %s\n", obj->type,
sha1_to_hex(obj->sha1));
}
if (!obj->used) {
printf("dangling %s %s\n", obj->type,
sha1_to_hex(obj->sha1));
}
for (refs = obj->refs; refs; refs = refs->next) {
if (!refs->item->parsed) {
printf("broken link from %s\n",
sha1_to_hex(obj->sha1));
printf(" to %s\n",
sha1_to_hex(refs->item->sha1));
}
}
}
}