In upload-pack.c, when Git invokes the packObjectsHook, it's hard-coded to pass "git". Unless it modifies the PATH environment variable, though, if the script were to invoke the provided command line as-is, it may end up running a different version of Git than the version being used to run upload-pack (or http-backend). Is there any way the packObjectsHook could be passed the "right" git executable? Or am I missing some surrounding context that means executing "git" is somehow guaranteed to invoke the "right" binary? (Perhaps this same PATH-related caveat applies to other places where Git invokes itself recursively?) Grateful for any insight! Bryan