Pierre Habouzit <madcoder@xxxxxxxxxx> writes: > On Wed, Sep 05, 2007 at 08:39:52AM +0000, Matthieu Moy wrote: >> Johan Herland <johan@xxxxxxxxxxx> writes: >> >> > When git-fetch and git-commit has done its job and is about to exit, it checks >> > the number of loose object, and if too high tells the user something >> > like "There are too many loose objects in the repo, do you want me to repack? >> > (y/N)". If the user answers "n" or simply <Enter>, >> >> I don't like commands to be interactive if they don't _need_ to be so. >> It kills scripting, it makes it hard for a front-end (git gui or so) >> to use the command, ... > > There is absolutely no problem here, as it can be avoided if the > output is not a tty. It's not _that_ hard to guess if you're currently > running in a script or in an interactive shell after all. I do find it hard to guess _reliably_ if you're running interactively or not. For example, I've been bitten recently by "git log" running inside a pager while I was launching it non-interactively inside Emacs (as part of DVC). I don't know whether this was git's or Emacs's fault, and the fix was not too hard (GIT_PAGER=cat), but it took some of my time to get it working. Adding more interactive stuff means adding more opportunities for this kind of problems. None will be a huge problem, but each problem will take some time to be fixed (I'm pretty sure adding an interactive prompt in git-commit will break DVC's commit functionality, and we'll have to fix it). > Really, git commit/fetch/... whatever suggesting to repack/gc when it > believes it begins to be critical to performance is not a bad idea. _Suggesting_ is a good idea, definitely. Something like if (number_of_unpacked > 1000 && number_of_unpacked < 10000) { printf ("more than 1000 unpacked objects. Think of running git-gc\n"); } else if (number_of_unpacked >= 10000) { printf ("HEY, WHAT THE HELL ARE YOU DOING WITH >10000 UNPACKED OBJECTS???\n" "I TOLD YOU TO REPACK\n"); } would be fine with me. The proposal to run git-gc in the background, with low priority seems to be a good idea too. But please, don't put an interactive prompt where it's not needed. -- Matthieu - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html