From: Junio C Hamano Date: Sat, 16 Feb 2008 08:25:30 GMT Subject: Re: [PATCH 2/6] Automatically close stderr pipes created by run_command Message-ID: <7vwsp5b951.fsf@gitster.siamese.dyndns.org> In-Reply-To: <47B3F51C.3060002@viscovery.net> Johannes Sixt writes: > Shawn O. Pearce schrieb: >> Like the out pipe and in pipe, we now automatically close the err >> pipe if it was requested by the caller and it hasn't been closed >> by the caller. This simplifies anyone who wants to get a pipe to >> the stderr stream for another process. > > IMHO, this is backwards. > > The .in, .out, .err members of struct child_process serve two different > purposes: > ... > Notice that in a clean implementation: > ... > The current implementation of start_command/finish_command as well as its > callers don't follow these rules (because they are not documented > anywhere). We should define what the clean semantics of this API should be, and update Documentation/technical/api-run-command.txt, before going any further. And I happen to notice two of your names in the list of people who have been involved in its evolution ;-).