summaryrefslogtreecommitdiff
path: root/src/diff.c
diff options
context:
space:
mode:
authorRussell Belfer <rb@github.com>2014-04-01 21:30:52 -0700
committerRussell Belfer <rb@github.com>2014-04-01 21:30:52 -0700
commitea1ca3c9216ad72b24a198cfdf4c4eb0d037462f (patch)
tree45b86ec2eae9c4ec317da33ad04f8cd6f038c04b /src/diff.c
parentf28e4c97b38c1ec60dc6ce6e5306067ad24aeb8e (diff)
downloadlibgit2-ea1ca3c9216ad72b24a198cfdf4c4eb0d037462f.tar.gz
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.
Diffstat (limited to 'src/diff.c')
-rw-r--r--src/diff.c4
1 files changed, 3 insertions, 1 deletions
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 -