On Sun, 21 Jan 2007, Bill Lear wrote: > > I did the steenking testing and it appears to fail. Ok, I did the test too. It does _appear_ to fail, where the keyword is actually the "appear". I get [torvalds@woody new-repo]$ git push updating 'refs/heads/master' from b66385f8f77014d9c3985b1ed1654401508392ad to 2cd693b97b450378fa300ddf6b093aef236953cd Generating pack... Done counting 4 objects. Result has 3 objects. Deltifying 3 objects. 100% (3/3) done Writing 3 objects. 100% (3/3) done Total 3 (delta 0), reused 0 (delta 0) fatal: read error (Bad file descriptor) On the pushing side, but it all did actually work fine, and trying to push again gets you a [torvalds@woody new-repo]$ git push Everything up-to-date and the repo I pushed to did get the changes and checks out ok. So the patch works, but yeah, there's a few issues: - the native git:// protocol doesn't open a stream for stderr like ssh does, so all the nice status updates go to the _daemon_ stderr, and on the daemon side I see: Unpacking 3 objects 100% (3/3) done refs/heads/master: b66385f8f77014d9c3985b1ed1654401508392ad -> 2cd693b97b450378fa300ddf6b093aef236953cd which might actually be nice from a debugging and logging standpoint, except it doesn't log enough to really be useful. - git-send-pack wants expects the status report, and doesn't get one. That, in turn, seems to be because it expects "out" and "in" to be different file descriptors, and with the git:// protocol they aren't (they're the same file descriptor) This attached patch should fix the second problem. Maybe. Linus --- diff --git a/send-pack.c b/send-pack.c index cd478dd..3d3ca07 100644 --- a/send-pack.c +++ b/send-pack.c @@ -327,6 +327,8 @@ static int send_pack(int in, int out, int nr_refspec, char **refspec) } packet_flush(out); + if (out == in) + out = dup(out); if (new_refs) ret = pack_objects(out, remote_refs); close(out); - 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