nd/struct-pathspec v2
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest21 patches 13 repliesIn review
Patches in v1 No applies recorded yet
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH 00/21] nd/struct-pathspec v2
Changes from previous version [1]
- fixes depth limit and overlapping pathspecs, by checking deepest pathspecs first. struct pathspec is now sorted (raw[] untouched)
- match_pathspec_depth depends on new match_pathspec_item() (a clone of match_one(), but takes advantage of struct pathspec)
- ce_path_match uses struct pathspec
- strbuf is used instead of fixed length "base" buffer. This introduces the weird strbuf_offset() function.
- never_interesting is disabled if any wildcards is present
- struct pathspec * == NULL is unacceptable, callers must pass non-NULL.
- a bit more tests
[1] http://mid.gmane.org/[email protected]
Jonathan Nieder (1):
glossary: define pathspec
Nguyễn Thái Ngọc Duy (20):
Add struct pathspec
diff-no-index: use diff_tree_setup_paths()
Convert struct diff_options to use struct pathspec tree_entry_interesting(): remove dependency on struct diff_options Move tree_entry_interesting() to tree-walk.c and export it
diff-tree: convert base+baselen to writable strbuf tree_entry_interesting(): refactor into separate smaller functions tree_entry_interesting(): support depth limit tree_entry_interesting(): fix depth limit with overlapping pathspecs tree_entry_interesting(): support wildcard matching tree_entry_interesting(): optimize wildcard matching when base is matched
pathspec: add match_pathspec_depth()
Convert ce_path_match() to use struct pathspec
Convert ce_path_match() to use match_pathspec_depth()
grep: convert to use struct pathspec
grep: use match_pathspec_depth() for cache/worktree grepping
strbuf: allow "buf" to point to the middle of the allocated buffer
grep: use writable strbuf from caller for grep_tree()
grep: drop pathspec_matches() in favor of tree_entry_interesting()
t7810: overlapping pathspecs and depth limit
Documentation/glossary-content.txt | 23 +++ builtin/diff-files.c | 2 +- builtin/diff.c | 4 +- builtin/grep.c | 197 +++++++------------------- builtin/log.c | 2 +- builtin/update-index.c | 8 +- cache.h | 17 ++- diff-lib.c | 12 ++- diff-no-index.c | 13 +- diff.h | 4 +- dir.c | 151 ++++++++++++++++++++ dir.h | 4 + preload-index.c | 5 +- read-cache.c | 25 +--- revision.c | 11 +- strbuf.c | 36 ++++-- strbuf.h | 10 +- t/t4010-diff-pathspec.sh | 32 ++++ t/t7810-grep.sh | 18 +++ tree-diff.c | 277 +++++++++--------------------------- tree-walk.c | 180 +++++++++++++++++++++++ tree-walk.h | 2 + wt-status.c | 5 +- 23 files changed, 615 insertions(+), 423 deletions(-)
Signature · 1 line
1.7.3.3.476.g10a82