Yes, I can work around this issue with sh -c 'git fetch
0</dev/null', and maybe it shouldn't close(0) in the first place.
But I don't see the harm in being safe. It's one less potential
surprise for users. This is the first program I've encountered
that broke due to stdin being closed
Not really. I suspect every program that uses pipe/dup to fork a child
could be wrong (the only one I ever wrote breaks), and I wonder if the
higher-level popen(3) interface works properly.
Paolo