git-gc --auto: move threshold check to need_to_gc() function.
authorJunio C Hamano <gitster@pobox.com>
Mon, 17 Sep 2007 07:37:06 +0000 (00:37 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 18 Sep 2007 06:12:15 +0000 (23:12 -0700)
That is where we decide if we are going to run gc
automatically.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-gc.c

index 093b3dda9ff7c70accdd8eb170885853215c5800..f046a2a66579bafd4f705f56838ed8ab3752890e 100644 (file)
@@ -80,6 +80,13 @@ static int need_to_gc(void)
        int num_loose = 0;
        int needed = 0;
 
+       /*
+        * Setting gc.auto to 0 or negative can disable the
+        * automatic gc
+        */
+       if (gc_auto_threshold <= 0)
+               return 0;
+
        if (sizeof(path) <= snprintf(path, sizeof(path), "%s/17", objdir)) {
                warning("insanely long object directory %.*s", 50, objdir);
                return 0;
@@ -129,8 +136,6 @@ int cmd_gc(int argc, const char **argv, const char *prefix)
                        continue;
                }
                if (!strcmp(arg, "--auto")) {
-                       if (gc_auto_threshold <= 0)
-                               return 0;
                        auto_gc = 1;
                        continue;
                }