On Sat, May 26, 2018 at 4:31 PM Junio C Hamano <[email protected]> wrote:
> *That* is something I don't do. After all, I am fully aware that I
> have started end-of-day ritual by that time, so I won't even look at
> a new patch (or a pull request for that matter).
Sounds like you're more organized about the end-of-day ritual than I am.
For me the gc is not quite so structured.
> I however have to wonder if there are opposite "oops" end-user
> operation we also need to worry about, i.e. we are doing a large-ish
> fetch, and get bored and run a gc fron another terminal. Perhaps
> *that* is a bit too stupid to worry about? Auto-gc deliberately
> does not use 'now' because it wants to leave a grace period to avoid
> exactly that kind of race.
For me, a "pull" never takes that long. Sure, any manual merging and the
writing of the commit message might take a while, but it's "foreground"
activity for me, I'd not start a gc in the middle of it.
So at least to me, doing "git fsck --full" and "git gc --prune=now" are
somewhat special because they take a while and tend to be background things
that I "start and forget" about (the same way I sometimes start and forget
a kernel build).
Which is why that current "git gc --prune=now" behavior seems a bit
dangerous.
Linus