summaryrefslogtreecommitdiff
path: root/src/status.c
diff options
context:
space:
mode:
authorRussell Belfer <rb@github.com>2013-03-25 16:40:16 -0700
committerRussell Belfer <rb@github.com>2013-03-25 16:40:16 -0700
commit0c289dd7c6831f4f402f9581b46d0c920053abf9 (patch)
tree9bfb8c6b15ccea8a8ad673b4f6eb74e1459684e8 /src/status.c
parentf17951d6ea4ba18c68716a89d7b7464e40ec98f7 (diff)
downloadlibgit2-0c289dd7c6831f4f402f9581b46d0c920053abf9.tar.gz
Recursing into ignored dirs for diff and status
This implements working versions of GIT_DIFF_RECURSE_IGNORED_DIRS and GIT_STATUS_OPT_RECURSE_IGNORED_DIRS along with some tests for the newly available behaviors. This is not turned on by default for status, but can be accessed via the options to the extended version of the command.
Diffstat (limited to 'src/status.c')
-rw-r--r--src/status.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/status.c b/src/status.c
index 282cb396b..7f84235f4 100644
--- a/src/status.c
+++ b/src/status.c
@@ -142,7 +142,8 @@ int git_status_foreach_ext(
diffopt.flags = diffopt.flags | GIT_DIFF_RECURSE_UNTRACKED_DIRS;
if ((opts->flags & GIT_STATUS_OPT_DISABLE_PATHSPEC_MATCH) != 0)
diffopt.flags = diffopt.flags | GIT_DIFF_DISABLE_PATHSPEC_MATCH;
- /* TODO: support EXCLUDE_SUBMODULES flag */
+ if ((opts->flags & GIT_STATUS_OPT_RECURSE_IGNORED_DIRS) != 0)
+ diffopt.flags = diffopt.flags | GIT_DIFF_RECURSE_IGNORED_DIRS;
if (show != GIT_STATUS_SHOW_WORKDIR_ONLY &&
(err = git_diff_tree_to_index(&idx2head, repo, head, NULL, &diffopt)) < 0)