Johannes Schindelin <Johannes.Schindelin@xxxxxx> writes: >> Possibly the correct answer here is "turn off reflogs in new.git", but >> they are sometimes useful, and things _mostly_ work (for history that >> doesn't rewind, or where the rewound bits are specific to new.git). So >> it's useful to be able to run something like "reflog expire --stale-fix" >> to clear out the occasional problem. >> >> (A careful reader will note that objects mentioned only in the index >> have a similar problem; but again, those tend to be local to new.git, >> and don't exist at all in a server context). > > I want to add the experience with that half year during which `git gc` > with worktrees was broken, as it would happily ignore the reflogs of the > worktree-specific `HEAD`s, all except the one from the worktree from which > `git gc` was run. That was some fun time, and `--stale-fix` was a life > saver. The option was invented for a specific case, but if its "fix" applies for breakages caused by more recent bugs and user induced actions, I would agree that that it gives us a good reason to keep it around. I have to wonder if the explanation in the documentation for the option needs to be made less specific to the originally motivating case, though. Thanks.