On Sat, 9 Feb 2008, Johannes Schindelin wrote: > In the commit "Reduce the number of connects when fetching", we checked > the return value of git_connect() to see if the connection was successful. > > However, for the git:// protocol, there is no need to have another > process, so the return value is NULL. > > The thing is: git_connect() does not return at all if it fails, so we need > not check the return value of git_connect(). Huh. Sure enough. Actually, there's a similar problem in transport.c, where it assumes that the return value of git_connect is non-zero, which makes it not reuse the connection (not that you can really tell). It might be good to roll in a fix for that. Or maybe git_connect should return a pointer to a static struct child_process if it doesn't need a subprocess, just to distinguish "we're doing it ourselves" from "it's not being done"? If not, maybe the variables that store the return from git_connect should be renamed to "subproc" or something that doesn't suggest they can't be NULL if you're actually connected. -Daniel *This .sig left intentionally blank* - 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