From: Johannes Sixt Date: Fri, 13 Mar 2026 12:38:57 GMT Subject: Re: [PATCH 0/4] run auto maintenance in git-gui 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. > 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. > 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