Make git-fsck-cache error printouts a bit more informative.
authorLinus Torvalds <torvalds@ppc970.osdl.org>
Sat, 30 Apr 2005 18:22:26 +0000 (11:22 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Sat, 30 Apr 2005 18:22:26 +0000 (11:22 -0700)
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).

fsck-cache.c

index 44e5e49948da52c9dcd54d68595ba61c238f77a3..d8d2e594fc787e9d0f8d0485568ff6635efca4c1 100644 (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));
-                       }
-               }
        }
 }