diff options
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | 2007-10-20 08:21:34 +0100 |
---|---|---|
committer | Shawn O. Pearce <spearce@spearce.org> | 2007-10-20 22:29:36 -0400 |
commit | 43db492a8eb701dd157f88ae9ca38d366c280761 (patch) | |
tree | e04cec37571f3c8a89eb7d71cf3f54cd91f89210 /git.c | |
parent | d9a5f25b67951eb68e80d872611542b58ce5aa33 (diff) | |
download | git-43db492a8eb701dd157f88ae9ca38d366c280761.tar.gz |
Deduce exec_path also from calls to git with a relative path
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@gmx.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Diffstat (limited to 'git.c')
-rw-r--r-- | git.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -409,13 +409,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; } |