Move pack_refs() and friends into libgit
[gitweb.git] / builtin-cat-file.c
index 5ef15a4fa9eac952db105376ec6a10b706b3cbb2..bd343efae7d6cc6fddef4df5c3433b97bd640d3c 100644 (file)
@@ -150,7 +150,7 @@ static int cat_one_file(int opt, const char *exp_type, const char *obj_name)
 static int batch_one_object(const char *obj_name, int print_contents)
 {
        unsigned char sha1[20];
-       enum object_type type;
+       enum object_type type = 0;
        unsigned long size;
        void *contents = contents;
 
@@ -159,6 +159,7 @@ static int batch_one_object(const char *obj_name, int print_contents)
 
        if (get_sha1(obj_name, sha1)) {
                printf("%s missing\n", obj_name);
+               fflush(stdout);
                return 0;
        }
 
@@ -167,8 +168,11 @@ static int batch_one_object(const char *obj_name, int print_contents)
        else
                type = sha1_object_info(sha1, &size);
 
-       if (type <= 0)
-               return 1;
+       if (type <= 0) {
+               printf("%s missing\n", obj_name);
+               fflush(stdout);
+               return 0;
+       }
 
        printf("%s %s %lu\n", sha1_to_hex(sha1), typename(type), size);
        fflush(stdout);
@@ -222,7 +226,7 @@ int cmd_cat_file(int argc, const char **argv, const char *prefix)
                OPT_END()
        };
 
-       git_config(git_default_config);
+       git_config(git_default_config, NULL);
 
        if (argc != 3 && argc != 2)
                usage_with_options(cat_file_usage, options);