[PATCH] --prune is now default for 'pack-refs'
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:42:48
Subsystem:
documentation, the rest · Maintainers:
Jonathan Corbet, Linus Torvalds
There is no reason not to, really. Signed-off-by: Junio C Hamano <redacted> ---
diff --git a/Documentation/git-pack-refs.txt b/Documentation/git-pack-refs.txt
index 5da5105..464269f 100644
--- a/Documentation/git-pack-refs.txt
+++ b/Documentation/git-pack-refs.txt@@ -7,7 +7,7 @@ git-pack-refs - Pack heads and tags for efficient repository access SYNOPSIS -------- -'git-pack-refs' [--all] [--prune] +'git-pack-refs' [--all] [--no-prune] DESCRIPTION -----------
@@ -40,10 +40,11 @@ developed and packing their tips does not help performance. This option causes branch tips to be packed as well. Useful for a repository with many branches of historical interests. -\--prune:: +\--no-prune:: + +The command usually removes loose refs under `$GIT_DIR/refs` +hierarchy after packing them. This option tells it not to. -After packing the refs, remove loose refs under `$GIT_DIR/refs` -hierarchy. This should probably become default. Author ------
diff --git a/builtin-pack-refs.c b/builtin-pack-refs.c
index 8dc5b9e..6de7128 100644
--- a/builtin-pack-refs.c
+++ b/builtin-pack-refs.c@@ -4,7 +4,7 @@ #include "tag.h" static const char builtin_pack_refs_usage[] = -"git-pack-refs [--all] [--prune]"; +"git-pack-refs [--all] [--prune | --no-prune]"; struct ref_to_prune { struct ref_to_prune *next;
@@ -90,10 +90,15 @@ int cmd_pack_refs(int argc, const char **argv, const char *prefix) memset(&cbdata, 0, sizeof(cbdata)); + cbdata.prune = 1; for (i = 1; i < argc; i++) { const char *arg = argv[i]; if (!strcmp(arg, "--prune")) { - cbdata.prune = 1; + cbdata.prune = 1; /* now the default */ + continue; + } + if (!strcmp(arg, "--no-prune")) { + cbdata.prune = 0; continue; } if (!strcmp(arg, "--all")) {
diff --git a/t/t3210-pack-refs.sh b/t/t3210-pack-refs.sh
index b1e9f2e..16bdae4 100755
--- a/t/t3210-pack-refs.sh
+++ b/t/t3210-pack-refs.sh@@ -34,7 +34,7 @@ test_expect_success \ 'see if a branch still exists when packed' \ 'git-branch b && git-pack-refs --all && - rm .git/refs/heads/b && + rm -f .git/refs/heads/b && echo "$SHA1 refs/heads/b" >expect && git-show-ref b >result && diff expect result'