From ea1ca3c9216ad72b24a198cfdf4c4eb0d037462f Mon Sep 17 00:00:00 2001 From: Russell Belfer Date: Tue, 1 Apr 2014 21:30:52 -0700 Subject: [PATCH] Fix skipping content of contained repos When doing a diff for use in status, we should never show the content of a git repository contained inside another one. The logic to do this was looking for a .git directory and so when a gitlink plain .git file was used, it was failing to exclude the directory content. --- src/diff.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/diff.c b/src/diff.c index 25c5937e6..484273f4a 100644 --- a/src/diff.c +++ b/src/diff.c @@ -880,8 +880,10 @@ static int handle_unmatched_new_item( git_buf *full = NULL; if (git_iterator_current_workdir_path(&full, info->new_iter) < 0) return -1; - if (full && git_path_contains_dir(full, DOT_GIT)) + if (full && git_path_contains(full, DOT_GIT)) { + /* TODO: warning if not a valid git repository */ recurse_into_dir = false; + } } /* still have to look into untracked directories to match core git -