This is a re-vamp of my original check-ignore series, which aims to address all the feedback which was raised in the first round of reviews. The most notable changes are the CLI options and output formats as suggested by Junio and Nguyễn; now there are three levels of verbosity: --quiet, default, and --verbose. -z also now affects the output and so is now compatible with the --stdin optin.
Some commits have been broken into smaller pieces to facilitate easier reviews, and based on an earlier discussion, three exclude functions have been given an 'is_' prefix to clarify their boolean nature. The helper functions extracted from these three now have more meaningful names rather than just a '_1' suffix. Other minor issues, such as inconsistent coding style, have been fixed, and the modification to the output text in add.c has been scrapped. It has been rebased on the latest master, and passed a full test run. Adam Spiers (14): Update directory listing API doc to match code Improve documentation and comments regarding directory traversal API Rename cryptic 'which' variable to more consistent name Rename path_excluded() to is_path_excluded() Rename excluded_from_list() to is_excluded_from_list() Rename excluded() to is_excluded() Refactor is_excluded_from_list() Refactor is_excluded() Refactor is_path_excluded() For each exclude pattern, store information about where it came from Refactor treat_gitlinks() Extract some useful pathspec handling code from builtin/add.c into a library Provide free_directory() for reclaiming dir_struct memory Add git-check-ignore sub-command .gitignore | 1 + Documentation/git-check-ignore.txt | 85 ++++ Documentation/gitignore.txt | 6 +- Documentation/technical/api-directory-listing.txt | 23 +- Makefile | 3 + attr.c | 2 +- builtin.h | 1 + builtin/add.c | 84 +--- builtin/check-ignore.c | 167 ++++++ builtin/clean.c | 2 +- builtin/ls-files.c | 5 +- command-list.txt | 1 + contrib/completion/git-completion.bash | 1 + dir.c | 191 +++++-- dir.h | 47 +- git.c | 1 + pathspec.c | 97 ++++ pathspec.h | 6 + t/t0007-ignores.sh | 587 ++++++++++++++++++++++ t/t9902-completion.sh | 24 +- unpack-trees.c | 10 +- 21 files changed, 1182 insertions(+), 162 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/t0007-ignores.sh -- 220.127.116.11.g6d168f4 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html