On Sat, Jan 07, 2012 at 12:42:44PM +0100, Clemens Buchacher wrote:
It feels natural for a user to view git commands as monolithic
commands with a single thread of execution. If the parent git
command dies, it should therefore clean up its child processes as
well. So enable the cleanup mechanism by default.
I'm not sure this is a good idea. run_command is used in ~70 places in
git, and I'm sure at least one of them is going to be unhappy (I see you
found one in credential-cache, but how many others are there). I'd
rather be conservative and leave the default the same, and then switch
over callsites that make sense.
-Peff
PS I thought this would certainly break the pager, since it should
outlast us after we finish producing output. But I think at one point
I switched the pager invocation so that the git wrapper lives and
waits until the pager dies.