Hi, On Fri, Jan 30, 2009 at 11:06 PM, Yuval Kogman <nothingmuch@xxxxxxxxxxxx> wrote: > Here is an example: > http://github.com/yanick/git-cpan-patch/blob/ed67d3f86f371764935fd0da3e7f08536c95b606/git-cpan-import#L190 > > Since git-commit-tree requires the message to be written before it can > write the sha1 of the new commit object, the handle has to be closed > already, which makes command_close_bidi_pipe die with an error. > The workaround in the linked code reopens a fake handle so that > close() will not error. > For what it's worth, I've been poking at t/t9700/test.pl but since > it's pretty sparse I figured I should contribute this fix > independently. Your usage seems to a very special case. You're closing the handle, and then invoking the method "command_close_bidi_pipe", whose job is to close the pipe handles passed to it (among other things). So, it doesn't seem very good to make "command_close_bidi_pipe" to take into account that you closed your handle independently. Maybe you could write a pair of new functions for the commit-tree command in the Git package, something like the "_open_hash_and_insert_object_if_needed" and "hash_and_insert_object" pair. -- Cheers, Ray Chuan -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html