Message ID | 20190318161502.7979-2-avarab@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | gc docs: modernize and fix the documentation | expand |
On Mon, Mar 18, 2019 at 05:14:59PM +0100, Ævar Arnfjörð Bjarmason wrote: > The docs have been recommending that users need to run this manually, > but that hasn't been needed in practice for a long time. > > Let's instead have this reflect reality and say that most users don't > need to run this manually at all. Yeah, I think this makes sense. > -Users are encouraged to run this task on a regular basis within > -each repository to maintain good disk space utilization and good > -operating performance. > +Most users should not have to run this command manually. When common > +porcelain operations that create objects are run, such as > +linkgit:git-commit[1] and linkgit:git-fetch[1], `git gc --auto` will > +be run automatically. This is in the description, before "--auto" is introduced. I wonder if it is worth just describing it briefly, like: When common porcelain operations that creates objects are run, they will check whether the repository has grown substantially since the last maintenance, and if so run `git gc` automatically. That gives a first-time reader an idea of whether they need to care about this command without having to dig into what "--auto" is. -Peff
On Mon, Mar 18 2019, Jeff King wrote: > On Mon, Mar 18, 2019 at 05:14:59PM +0100, Ævar Arnfjörð Bjarmason wrote: > >> The docs have been recommending that users need to run this manually, >> but that hasn't been needed in practice for a long time. >> >> Let's instead have this reflect reality and say that most users don't >> need to run this manually at all. > > Yeah, I think this makes sense. > >> -Users are encouraged to run this task on a regular basis within >> -each repository to maintain good disk space utilization and good >> -operating performance. >> +Most users should not have to run this command manually. When common >> +porcelain operations that create objects are run, such as >> +linkgit:git-commit[1] and linkgit:git-fetch[1], `git gc --auto` will >> +be run automatically. > > This is in the description, before "--auto" is introduced. I wonder if > it is worth just describing it briefly, like: > > When common porcelain operations that creates objects are run, they > will check whether the repository has grown substantially since the > last maintenance, and if so run `git gc` automatically. > > That gives a first-time reader an idea of whether they need to care > about this command without having to dig into what "--auto" is. Yeah I think that's better. Also more briefly describing gc.auto=0 without an example (suggesting people run that, which for most is a bad idea). I.e. just adding to that "This behavior can be disabled, see `gc.auto` below."
diff --git a/Documentation/git-gc.txt b/Documentation/git-gc.txt index a7c1b0f60ed..cc82971022e 100644 --- a/Documentation/git-gc.txt +++ b/Documentation/git-gc.txt @@ -20,13 +20,17 @@ created from prior invocations of 'git add', packing refs, pruning reflog, rerere metadata or stale working trees. May also update ancillary indexes such as the commit-graph. -Users are encouraged to run this task on a regular basis within -each repository to maintain good disk space utilization and good -operating performance. +Most users should not have to run this command manually. When common +porcelain operations that create objects are run, such as +linkgit:git-commit[1] and linkgit:git-fetch[1], `git gc --auto` will +be run automatically. -Some git commands may automatically run 'git gc'; see the `--auto` flag -below for details. If you know what you're doing and all you want is to -disable this behavior permanently without further considerations, just do: +You should only need to run `git gc` manually when adding objects to a +repository without regularly running such porcelain commands. Another +use-case is wanting to do a one-off repository optimization. + +If you know what you're doing and all you want is to disable automatic +runs, do: ---------------------- $ git config --global gc.auto 0
The docs have been recommending that users need to run this manually, but that hasn't been needed in practice for a long time. Let's instead have this reflect reality and say that most users don't need to run this manually at all. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> --- Documentation/git-gc.txt | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-)