Fix gitdir detection when in subdir of gitdir
authorSZEDER Gábor <szeder@ira.uka.de>
Fri, 16 Jan 2009 15:37:33 +0000 (16:37 +0100)
committerJunio C Hamano <gitster@pobox.com>
Sun, 18 Jan 2009 05:46:50 +0000 (21:46 -0800)
commit72183cb297f614dc2df1c0ed08afac1be27ec35a
tree2c27182ec9b1be03b7b786cf92456b8436f7edfc
parentbf474e2402e51843e8230c064da6ccfdf3a8ff54
Fix gitdir detection when in subdir of gitdir

If the current working directory is a subdirectory of the gitdir (e.g.
<repo>/.git/refs/), then setup_git_directory_gently() will climb its
parent directories until it finds itself in a gitdir.  However, no
matter how many parent directories it climbs, it sets
'GIT_DIR_ENVIRONMENT' to ".", which is obviously wrong.

This behaviour affected at least 'git rev-parse --git-dir' and hence
caused some errors in bash completion (e.g. customized command prompt
when on a detached head and completion of refs).

To fix this, we set the absolute path of the found gitdir instead.

Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
setup.c
t/t1501-worktree.sh