summaryrefslogtreecommitdiff
path: root/builtin/gc.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2015-11-03 23:32:25 (GMT)
committerJunio C Hamano <gitster@pobox.com>2015-11-03 23:32:25 (GMT)
commitf89baca1b99ff2882690d6b58dc2071195c6ae84 (patch)
tree2901be0d9c8d2b46710fe97681b66b116127fd96 /builtin/gc.c
parentb05c2f9ed48adfd9670b28ecdd5c55a4e4698704 (diff)
parent067fbd4105c5aa8260a73cc6961854be0e93fa03 (diff)
downloadgit-f89baca1b99ff2882690d6b58dc2071195c6ae84.zip
git-f89baca1b99ff2882690d6b58dc2071195c6ae84.tar.gz
git-f89baca1b99ff2882690d6b58dc2071195c6ae84.tar.bz2
Merge branch 'jk/repository-extension' into maint
Prepare for Git on-disk repository representation to undergo backward incompatible changes by introducing a new repository format version "1", with an extension mechanism. * jk/repository-extension: introduce "preciousObjects" repository extension introduce "extensions" form of core.repositoryformatversion
Diffstat (limited to 'builtin/gc.c')
-rw-r--r--builtin/gc.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/builtin/gc.c b/builtin/gc.c
index 0ad8d30..b757d9a 100644
--- a/builtin/gc.c
+++ b/builtin/gc.c
@@ -340,15 +340,17 @@ int cmd_gc(int argc, const char **argv, const char *prefix)
if (gc_before_repack())
return -1;
- if (run_command_v_opt(repack.argv, RUN_GIT_CMD))
- return error(FAILED_RUN, repack.argv[0]);
-
- if (prune_expire) {
- argv_array_push(&prune, prune_expire);
- if (quiet)
- argv_array_push(&prune, "--no-progress");
- if (run_command_v_opt(prune.argv, RUN_GIT_CMD))
- return error(FAILED_RUN, prune.argv[0]);
+ if (!repository_format_precious_objects) {
+ if (run_command_v_opt(repack.argv, RUN_GIT_CMD))
+ return error(FAILED_RUN, repack.argv[0]);
+
+ if (prune_expire) {
+ argv_array_push(&prune, prune_expire);
+ if (quiet)
+ argv_array_push(&prune, "--no-progress");
+ if (run_command_v_opt(prune.argv, RUN_GIT_CMD))
+ return error(FAILED_RUN, prune.argv[0]);
+ }
}
if (prune_worktrees_expire) {