fsck: return error code when verify_pack() goes wrong
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Mon, 7 Nov 2011 02:59:23 +0000 (09:59 +0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 7 Nov 2011 04:31:28 +0000 (20:31 -0800)
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/fsck.c

index df1a88b51ae7773a15276d144113c0002fddb1cd..4ead98dcab276b4177fad302ed062a3fb584c9ea 100644 (file)
@@ -29,6 +29,7 @@ static int write_lost_and_found;
 static int verbose;
 #define ERROR_OBJECT 01
 #define ERROR_REACHABLE 02
+#define ERROR_PACK 04
 
 #ifdef NO_D_INO_IN_DIRENT
 #define SORT_DIRENT 0
@@ -626,7 +627,8 @@ int cmd_fsck(int argc, const char **argv, const char *prefix)
                prepare_packed_git();
                for (p = packed_git; p; p = p->next)
                        /* verify gives error messages itself */
-                       verify_pack(p);
+                       if (verify_pack(p))
+                               errors_found |= ERROR_PACK;
 
                for (p = packed_git; p; p = p->next) {
                        uint32_t j, num;