There is already logic in the git wrapper to deduce the exec_path from argv[0], when the git wrapper was called with an absolute path. Extend that logic to handle relative paths as well. For example, when you call "../../hello/world/git", it will not turn "../../hello/world" into an absolute path, and use that. Initial implementation by Scott R Parish. Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> --- On Fri, 19 Oct 2007, Scott R Parish wrote: > Signed-off-by: Scott R Parish <srp@xxxxxxxxxxxx> That is a little short for a commit message ;-) > git.c | 35 +++++++++++++++++++++++++++++++++-- > 1 files changed, 33 insertions(+), 2 deletions(-) I had commented on this before. Probably I did a very bad job at explaining things, so hopefully this is better: git.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/git.c b/git.c index d7c6bca..1dad764 100644 --- a/git.c +++ b/git.c @@ -414,13 +414,14 @@ int main(int argc, const char **argv) /* * Take the basename of argv[0] as the command * name, and the dirname as the default exec_path - * if it's an absolute path and we don't have - * anything better. + * if we don't have anything better. */ if (slash) { *slash++ = 0; if (*cmd == '/') exec_path = cmd; + else + exec_path = xstrdup(make_absolute_path(cmd)); cmd = slash; } -- 1.5.3.4.1287.g8b31e - 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