This is the v4 re-roll of the check-ignore series, which is based on Junio's as/dir-c-cleanup topic branch f6198812 (dir.c: rename free_excludes() to clear_exclude_list(), 2012-12-27). As previously discussed, the earlier parts of the v3 series seem to be complete and are progressing to 'next'. Since v3, I addressed the issue of newly public functions with unacceptably vague or generic names via the following steps: - eliminated extraction from add.c to pathspec.c of two functions which did not need to be public (validate_pathspec() and treat_gitlinks()) - edited the series history to create separate commits for extraction of reusable code from treat_gitlinks() and validate_pathspec() into more carefully named public functions This should make reviewing easier. I will summarise the changes in the revised patches since v3 in between the "---" divider and the diffstat of each individual patch. This series is also available via the check-ignore-v4 tag in: git://github.com/aspiers/git.git Adam Spiers (11): dir.c: use a single struct exclude_list per source of excludes dir.c: keep track of where patterns came from dir.c: provide clear_directory() for reclaiming dir_struct memory dir.c: improve docs for match_pathspec() and match_pathspec_depth() add.c: remove unused argument from validate_pathspec() add.c: move pathspec matchers into new pathspec.c for reuse pathspec.c: rename newly public functions for clarity add.c: extract check_path_for_gitlink() from treat_gitlinks() for reuse add.c: extract new die_if_path_beyond_symlink() for reuse setup.c: document get_pathspec() add git-check-ignore sub-command .gitignore | 1 + Documentation/git-check-ignore.txt | 89 +++ Documentation/gitignore.txt | 6 +- Documentation/technical/api-directory-listing.txt | 14 +- Makefile | 3 + builtin.h | 1 + builtin/add.c | 78 +-- builtin/check-ignore.c | 173 ++++++ builtin/clean.c | 3 +- builtin/ls-files.c | 9 +- command-list.txt | 1 + contrib/completion/git-completion.bash | 1 + dir.c | 152 ++++-- dir.h | 62 ++- git.c | 1 + pathspec.c | 101 ++++ pathspec.h | 9 + setup.c | 19 + t/t0008-ignores.sh | 632 ++++++++++++++++++++++ unpack-trees.c | 2 +- 20 files changed, 1240 insertions(+), 117 deletions(-) create mode 100644 Documentation/git-check-ignore.txt create mode 100644 builtin/check-ignore.c create mode 100644 pathspec.c create mode 100644 pathspec.h create mode 100755 t/t0008-ignores.sh -- 1.7.11.7.33.gb8feba5 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html