Recommend "git gc --auto" instead of "git prune"
PATCH 1/1 Recommend "git gc --auto" instead of "git prune"
From: John Lin <[email protected]>
---
Recommend "git gc --auto" instead of "git prune"
Fix according to #642.
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-651%2Fjohnlinp%2Ffix-git-gc-warning-message-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-651/johnlinp/fix-git-gc-warning-message-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/651
builtin/gc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
builtin/gc.c +1 -1
@@ -692,7 +692,7 @@ int cmd_gc(int argc, const char **argv, const char *prefix)if (auto_gc &&too_many_loose_objects ())warning (_ ("There are too many unreachable loose objects; " -"run 'git prune' to remove them." )); +"run 'git gc --auto' to remove them." ));if (!daemonized)unlink (git_path ("gc.log" ));
base-commit: 20514004ddf1a3528de8933bc32f284e175e1012
Signature · 1 line
gitgitgadget
Quoted 20 lines · John Lin via GitGitGadget
From: John Lin <[email protected]>
Signed-off-by John Lin <[email protected]>---
Recommend "git gc --auto" instead of "git prune"Fix according to #642.
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-651%2Fjohnlinp%2Ffix-git-gc-warning-message-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-651/johnlinp/fix-git-gc-warning-message-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/651builtin/gc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)builtin/gc.c +0
-0
builtin/gc.c int cmd_gc(int argc, const char **argv, const char *prefix) · line 695
Quoted 5 lines
builtin/gc.c +1
-1@@ -692,7 +692,7 @@ int cmd_gc(int argc, const char **argv, const char *prefix)if (auto_gc &&too_many_loose_objects ())warning (_ ("There are too many unreachable loose objects; " -"run 'git prune' to remove them." )); +"run 'git gc --auto' to remove them." ));
I'm not sure this is correct. If we have just expelled a large number of objects from a pack into loose objects because they're no longer referenced, it's possible we may trigger another git gc --auto on the next time we run a command. If so, no amount of git gc --auto is going to help here; you really have to run git prune.
Signature · 2 lines
brian m. carlson: Houston, Texas, US OpenPGP: https://keybase.io/bk2204
Quoted 6 lines · brian m. carlson
Quoted 6 lines
builtin/gc.c +0
-0@@ -692,7 +692,7 @@ int cmd_gc(int argc, const char **argv, const char *prefix)
Quoted 10 lines
builtin/gc.c int cmd_gc(int argc, const char **argv, const char *prefix) · line 695
Quoted 4 lines
builtin/gc.c +1
-1if (auto_gc &&too_many_loose_objects ())warning (_ ("There are too many unreachable loose objects; " -"run 'git prune' to remove them." )); +"run 'git gc --auto' to remove them." ));I'm not sure this is correct. If we have just expelled a large number of objects from a pack into loose objects because they're no longer referenced, it's possible we may trigger another git gc --auto on the next time we run a command. If so, no amount of git gc --auto is going to help here; you really have to run git prune.
Correct. When running manually, after noticing the need to do a GC, it is a mental bug to add "--auto" to it, I would think.
Hi all,
Quoted 19 lines · Junio C Hamano
Quoted 6 lines · brian m. carlson
Quoted 6 lines
builtin/gc.c +0
-0@@ -692,7 +692,7 @@ int cmd_gc(int argc, const char **argv, const char *prefix)Quoted 10 lines
builtin/gc.c int cmd_gc(int argc, const char **argv, const char *prefix) · line 695
Quoted 4 lines
builtin/gc.c +1
-1if (auto_gc &&too_many_loose_objects ())warning (_ ("There are too many unreachable loose objects; " -"run 'git prune' to remove them." )); +"run 'git gc --auto' to remove them." ));I'm not sure this is correct. If we have just expelled a large number of objects from a pack into loose objects because they're no longer referenced, it's possible we may trigger another git gc --auto on the next time we run a command. If so, no amount of git gc --auto is going to help here; you really have to run git prune.
Quoted 2 lines
Correct. When running manually, after noticing the need to do a GC, it is a mental bug to add "--auto" to it, I would think.
Sorry about the confusion, when I was responding to the original issue[0], I mistakenly typed the wrong thing. I meant to suggest replacing it with git gc --prune=now, _not_ git gc --auto but I guess I had my wires crossed. With this in mind...
The rationale behind this change is that John wanted to add bash completions for git prune. However, I noted that prune is a plumbing command and users should opt to use git gc instead. He mentioned that sometimes when auto gc runs, it tells the user that they should run git prune so I suggested (meant to suggest) replacing the command with git gc --prune=now instead so that users could call the porcelain.
Quoted 8 lines · Denton Liu
Quoted 2 lines
Correct. When running manually, after noticing the need to do a GC, it is a mental bug to add "--auto" to it, I would think.
Sorry about the confusion, when I was responding to the original issue[0], I mistakenly typed the wrong thing. I meant to suggest replacing it with
git gc --prune=now, _not_git gc --autobut I guess I had my wires crossed. With this in mind...
Quoted 6 lines
The rationale behind this change is that John wanted to add bash completions for
git prune. However, I noted that prune is a plumbing command and users should opt to usegit gcinstead. He mentioned that sometimes when auto gc runs, it tells the user that they should rungit pruneso I suggested (meant to suggest) replacing the command withgit gc --prune=nowinstead so that users could call the porcelain.
Nice to know. The reasoning behind the change should be available to those who only look at "git show".
John, if you are to send an updated patch, please make sure you have a meaningful log message in it.
Thanks.