summaryrefslogtreecommitdiff
path: root/dir.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2021-05-19 23:54:58 (GMT)
committerJunio C Hamano <gitster@pobox.com>2021-05-19 23:54:59 (GMT)
commit33be431c0c7284c1adf0fe49f7838dbc8aee6ea9 (patch)
treece7b37182ebe1c89b0d9d4f5ced18e514e60c09d /dir.h
parent2e2ed74be03993706d467e4b8e785afeb5f173d9 (diff)
parentb548f0f1568f6b01e55ca69c24d3cb19489f92aa (diff)
downloadgit-33be431c0c7284c1adf0fe49f7838dbc8aee6ea9.zip
git-33be431c0c7284c1adf0fe49f7838dbc8aee6ea9.tar.gz
git-33be431c0c7284c1adf0fe49f7838dbc8aee6ea9.tar.bz2
Merge branch 'en/dir-traversal'
"git clean" and "git ls-files -i" had confusion around working on or showing ignored paths inside an ignored directory, which has been corrected. * en/dir-traversal: dir: introduce readdir_skip_dot_and_dotdot() helper dir: update stale description of treat_directory() dir: traverse into untracked directories if they may have ignored subfiles dir: avoid unnecessary traversal into ignored directory t3001, t7300: add testcase showcasing missed directory traversal t7300: add testcase showing unnecessary traversal into ignored directory ls-files: error out on -i unless -o or -c are specified dir: report number of visited directories and paths with trace2 dir: convert trace calls to trace2 equivalents
Diffstat (limited to 'dir.h')
-rw-r--r--dir.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/dir.h b/dir.h
index 35963f9..e3db9b9 100644
--- a/dir.h
+++ b/dir.h
@@ -336,8 +336,14 @@ struct dir_struct {
struct oid_stat ss_info_exclude;
struct oid_stat ss_excludes_file;
unsigned unmanaged_exclude_files;
+
+ /* Stats about the traversal */
+ unsigned visited_paths;
+ unsigned visited_directories;
};
+struct dirent *readdir_skip_dot_and_dotdot(DIR *dirp);
+
/*Count the number of slashes for string s*/
int count_slashes(const char *s);