Nguyán ThÃi Ngác Duy <pclouds@xxxxxxxxx> writes: > git_dir variable in environment.c is relative to git's cwd, not user's > cwd. Convert the relative path (actualy by making it absolute path) > before printing out. > > Signed-off-by: Nguyán ThÃi Ngác Duy <pclouds@xxxxxxxxx> > Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> > --- > builtin/rev-parse.c | 6 +++++- > 1 files changed, 5 insertions(+), 1 deletions(-) > > diff --git a/builtin/rev-parse.c b/builtin/rev-parse.c > index a5a1c86..65c287b 100644 > --- a/builtin/rev-parse.c > +++ b/builtin/rev-parse.c > @@ -647,7 +647,11 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix) > static char cwd[PATH_MAX]; > int len; > if (gitdir) { > - puts(gitdir); > + if (is_absolute_path(gitdir) || !prefix) { > + puts(gitdir); > + continue; > + } > + puts(make_absolute_path(gitdir)); > continue; > } > if (!prefix) { I do not quite understand this change. I can obtain GIT_DIR in a relative form without this patch already: $ cd t/ $ git --git-dir=../.git rev-parse --git-dir HEAD ../.git c7511731675da8b50c0d5243aa04a98c8a5ee316 Could we please have a new test case to demonstrate what is broken without this patch? -- 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