Subject: Re: [PATCH 2/6] Automatically close stderr pipes created by run_command

From: Junio C Hamano <[email-masked]>
Date: Sat, 16 Feb 2008 00:25:30 -0800

Johannes Sixt <[email-masked]> 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 ;-).