[PATCH] Deduce exec_path also from calls to git with a relative path
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Oct 20, 2007, 07:21 UTC
- Message-ID
- <Pine.LNX.4.64.0710200818410.25221@racer.site>
- In-Reply-To
- <20071020064617.GC2237@srparish.net>
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> ---
On Fri, 19 Oct 2007, Scott R Parish wrote:
> Signed-off-by: Scott R Parish <srp@srparish.net>
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