Commit ea1ca3c9216ad72b24a198cfdf4c4eb0d037462f

Russell Belfer 2014-04-01T21:30:52

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.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
diff --git a/src/diff.c b/src/diff.c
index 25c5937..484273f 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 -