Re: option -q not passed from "git commit" to "git gc --auto"
From: Taylor Blau <hidden>
Date: 2020-05-06 17:34:00
On Wed, May 06, 2020 at 11:28:23AM -0600, Taylor Blau wrote:
On Wed, May 06, 2020 at 11:43:27AM +0200, Pierrick Gaudry wrote:quoted
Hello, It seems that when "git commit" is run with the "-q" option, there are still, from time to time, messages that get printed. With the French locale the message is: Compression automatique du dépôt en tâche de fond pour optimiser les performances. Voir "git help gc" pour toute information sur le nettoyage manuel. From what I could guess, this is due to the fact that "git commit" calls "git gc --auto", but does not propagate the "-q" option if present. A similar problem was present some time ago with "git fetch" and was solved in the 2-line patch 6fceed3b . I guess that the same should be done for "git commit".Yes, I think so. A quick search through the list archive turns up [1], which identifies and provides a patch for this issue. If I were reviewing that patch today, I'd suggest the following: * break the change from a 'char **' to a 'struct argv_array' into a separate, preparatory patch. * adjust the commit message of the second commit (which will only pass '-q' to the 'git-gc' sub-process) to indicate that there may be other locations * fix those other locations that spawn 'git gc', if they exist, in a similar fashion * in each of the previous two steps, add tests in the appropriate files in 't' to demonstrate that '-q' propagation works as expected.
Junio identified a much better way to do this in the email below this one. Since it appears that there are multiple places that ignore '--quiet' when running 'git gc' as a sub-process, a helper function is certainly you want to be using.
I'm happy to do any and all of this, if you want, but you are also welcome to submit the patches yourself.quoted
Regards, PierrickThanks, Taylor [1]: https://lore.kernel.org/git/20200506140138.650455-1-abhishekkumar8222@gmail.com/ (local)
Thanks, Taylor