Re: [PATCH 0/4] run auto maintenance in git-gui
- From
Johannes Sixt <j6t@kdbg.org>
- Date
- Mar 13, 2026, 12:38 UTC
- Message-ID
- <7905c1d6-ae6e-4930-b4bf-d1129685d10f@kdbg.org>
- In-Reply-To
- <876fd32d-3965-4587-b567-399787741247@app.fastmail.com>
Am 11.03.26 um 05:48 schrieb Wolfgang Faust:
> However, it seems to me that the conditions you outlined are very > unlikely.
This was the whole point of my argument.
Show 9 quoted lines
> In particular: > >> - They configure maintenance.* to do more cleanups than the default >> confituration (which is the same as `git gc --auto`, I think). >> >> - They never use `git maintenance run` through some other facility. > > Are these not more or less mutually exclusive? Why would someone set > up maintenance to do things, and then never run maintenance?
The system configuration could be set to non-default values.
But it would need quite some determination from a user to side-step any and all explicit and implicit `git maintenance` calls on such a system instead of countermanding the configuration in the personal (global or local) settings.
My point is only that these conditions aren't mutually exclusive, but still unlikely in practice.
Show 15 quoted lines
> Given the above, I see two options: > > 1. Assume that in practice everybody wants auto maintenance and > `gui.gcwarning` is set because they were annoyed by the dialog. > 2. Assume that some people do *not* want auto maintenance, and if the > `gui.gcmaintenance` option is unset then show some kind of dialog > that tries to explain the situation to the user and encourages them > to set `gui.gcmaintenance=auto`. > > #2 is the safer option, but is rather complicated and involves > bothering every user for the sake of strict compatibility. I assume > that git core itself had to make a similar tradeoff when deciding to > enable automatic garbage collection, but I don't know where I'd find > that discussion and perhaps it's far enough in the past that the > rationales are no longer relevant anyway.
Let's just call `git maintenance` on every commit except when, for legacy reasons, gui.gcwarning is false. No new configuration, please, until there is proof that Git GUI users really do not want the standard `git maintenance` behavior.
-- Hannes