Support working directory located at root
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Sun, 14 Feb 2010 15:44:44 +0000 (22:44 +0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 16 Feb 2010 16:55:56 +0000 (08:55 -0800)
commit72ec8ba6dddbe2c53500d35d7ed343c153874fc6
treee8082e86783f0941dce1706b43885b66e37fe750
parent4bb43de25977063187dedf054122985bc5a2660e
Support working directory located at root

Git should work regardless where the working directory is located,
even at root. This patch fixes two places where it assumes working
directory always have parent directory.

In setup_git_directory_gently(), when Git goes up to root and finds
.git there, it happily sets worktree to "" instead of "/".

In prefix_path(), loosen the outside repo check a little bit. Usually
when a path XXX is inside worktree /foo, it must be either "/foo", or
"/foo/...". When worktree is simply "/", we can safely ignore the
check: we have a slash at the beginning already.

Not related to worktree, but also set gitdir correctly if a bare repo
is placed (insanely?) at root.

Thanks João Carlos Mendes Luís for pointing out this problem.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
setup.c