This is not really ready for review or use, but I'd like to have feedback if any, where this series is heading because it requires some code refactor in diff/rev machinery. It does not feel absolutely right to me. On the other hand, if we go with ':' as a mark of special pathspecs, then - ":/" mark pathspecs relative to worktree root - ":!" may mark negative pathspecs Less changes in diff/rev this way. Nguyán ThÃi Ngác Duy (5): tree-walk: support negative pathspec match_pathspec_depth: support negative pathspec match_pathspec_depth needs work. tree_entry_interesting() can use some optimization, but leave it for now. revision.c: get rid of struct rev_info.prune_data diff: refactor init/release API These two facilitate post pathspec manipulation to transform --exclude to pathspecs with to_exclude = 1. diff: support --exclude Documentation/technical/api-diff.txt | 2 +- builtin/add.c | 3 +- builtin/blame.c | 22 +++++---------- builtin/diff.c | 6 ++-- builtin/fast-export.c | 2 +- builtin/merge.c | 2 +- builtin/reset.c | 4 +- cache.h | 1 + diff-lib.c | 6 ++-- diff-no-index.c | 6 ++-- diff.c | 49 ++++++++++++++++++++++++++++++++- diff.h | 6 ++-- dir.c | 5 +++ merge-recursive.c | 2 +- notes-merge.c | 8 +++--- patch-ids.c | 2 +- revision.c | 22 ++++++++------- revision.h | 1 - tree-diff.c | 21 +++------------ tree-walk.c | 37 +++++++++++++++++++------ wt-status.c | 6 +--- 21 files changed, 130 insertions(+), 83 deletions(-) -- 1.7.3.1.256.g2539c.dirty -- 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