aboutsummaryrefslogtreecommitdiff
path: root/fsck-cache.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-30 11:22:26 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-30 11:22:26 -0700
commit3a6a23e67d752e3083a52ad04c20c04e40c148e1 (patch)
treefc3fa09bb8b2577f8d2e16cb01de8650ab510ed3 /fsck-cache.c
parent9b23b4bc1c64fd4ada4fd932195544cc839e0ff4 (diff)
downloadgit-3a6a23e67d752e3083a52ad04c20c04e40c148e1.tar.gz
git-3a6a23e67d752e3083a52ad04c20c04e40c148e1.tar.xz
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).
Diffstat (limited to 'fsck-cache.c')
-rw-r--r--fsck-cache.c30
1 files changed, 18 insertions, 12 deletions
diff --git a/fsck-cache.c b/fsck-cache.c
index 44e5e4994..d8d2e594f 100644
--- a/fsck-cache.c
+++ b/fsck-cache.c
@@ -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));
- }
- }
}
}