[PATCH] path_treatment: also ignore $GIT_DIR if it's not .git
- From
Dennis Kaarsemaker <dennis@kaarsemaker.net>
- Date
- Dec 1, 2013, 19:04 UTC
- Message-ID
- <20131201190447.GA31367@kaarsemaker.net>
- In-Reply-To
- <1385922611.3240.6.camel@localhost>
We always ignore anything named .git, but we should also ignore the git directory if the user overrides it by setting $GIT_DIR
Reported-By: Ingy döt Net <ingy@ingy.net> Signed-off-by: Dennis Kaarsemaker <dennis@kaarsemaker.net> --- dir.c | 2 +- t/t7508-status.sh | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/dir.c b/dir.c index 23b6de4..884b37d 100644 --- a/dir.c +++ b/dir.c @@ -1198,7 +1198,7 @@ static enum path_treatment treat_path(struct dir_struct *dir, return path_none; strbuf_setlen(path, baselen); strbuf_addstr(path, de->d_name); - if (simplify_away(path->buf, path->len, simplify)) + if (simplify_away(path->buf, path->len, simplify) || is_git_directory(path->buf)) return path_none; dtype = DTYPE(de); diff --git a/t/t7508-status.sh b/t/t7508-status.sh index c987b5e..2bd7ef1 100755 --- a/t/t7508-status.sh +++ b/t/t7508-status.sh @@ -198,6 +198,13 @@ test_expect_success 'status -s' ' ' +test_expect_success 'status -s with non-standard $GIT_DIR' ' + mv .git .foo && + GIT_DIR=.foo git status -s >output && + test_cmp expect output && + mv .foo .git +' + test_expect_success 'status with gitignore' ' { echo ".gitignore" &&
-- 1.8.5-386-gb78cb96 -- Dennis Kaarsemaker <dennis@kaarsemaker.net> http://twitter.com/seveas