[PATCH v1 00/45] nd/parse-pathspec and :(glob) pathspec magic
- From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
- Date
- Mar 15, 2013, 06:06 UTC
- Message-ID
- <1363327620-29017-1-git-send-email-pclouds@gmail.com>
Probably not much to say. A big portion of this series is the conversion to struct pathspec, which enables more use of pathspec magic. :(glob) magic is added to verify that the conversion makes sense.
Andrew Wong (1): setup.c: check that the pathspec magic ends with ")"
Nguyễn Thái Ngọc Duy (44):
clean: remove unused variable "seen"
Move struct pathspec and related functions to pathspec.[ch]
pathspec: i18n-ize error strings in pathspec parsing code
pathspec: add copy_pathspec
Add parse_pathspec() that converts cmdline args to struct pathspec
parse_pathspec: save original pathspec for reporting
parse_pathspec: add PATHSPEC_PREFER_{CWD,FULL}
Convert some get_pathspec() calls to parse_pathspec()
parse_pathspec: a special flag for max_depth feature
parse_pathspec: support stripping submodule trailing slashes
parse_pathspec: support stripping/checking submodule paths
parse_pathspec: support prefixing original patterns
Guard against new pathspec magic in pathspec matching code
clean: convert to use parse_pathspec
commit: convert to use parse_pathspec
status: convert to use parse_pathspec
rerere: convert to use parse_pathspec
checkout: convert to use parse_pathspec
rm: convert to use parse_pathspec
ls-files: convert to use parse_pathspec
archive: convert to use parse_pathspec
check-ignore: convert to use parse_pathspec
add: convert to use parse_pathspec
reset: convert to use parse_pathspec
Convert read_cache_preload() to take struct pathspec
Convert run_add_interactive to use struct pathspec
Convert unmerge_cache to take struct pathspec
checkout: convert read_tree_some to take struct pathspec
Convert report_path_error to take struct pathspec
Convert refresh_index to take struct pathspec
Convert {read,fill}_directory to take struct pathspec
Convert add_files_to_cache to take struct pathspec
Convert common_prefix() to use struct pathspec
Remove diff_tree_{setup,release}_paths
Remove init_pathspec() in favor of parse_pathspec()
Remove match_pathspec() in favor of match_pathspec_depth()
tree-diff: remove the use of pathspec's raw[] in follow-rename codepath
parse_pathspec: make sure the prefix part is wildcard-free
parse_pathspec: preserve prefix length via PATHSPEC_PREFIX_ORIGIN
Kill limit_pathspec_to_literal() as it's only used by parse_pathspec()
pathspec: support :(literal) syntax for noglob pathspec
pathspec: make --literal-pathspecs disable pathspec magic
pathspec: support :(glob) syntax
Rename field "raw" to "_raw" in struct pathspecDocumentation/git.txt | 23 +- Documentation/glossary-content.txt | 33 +++ archive.c | 18 +- archive.h | 4 +- builtin/add.c | 156 ++++++-------- builtin/blame.c | 14 +- builtin/check-ignore.c | 34 +-- builtin/checkout.c | 46 ++-- builtin/clean.c | 24 +-- builtin/commit.c | 37 ++-- builtin/diff-files.c | 2 +- builtin/diff-index.c | 2 +- builtin/diff.c | 6 +- builtin/grep.c | 10 +- builtin/log.c | 2 +- builtin/ls-files.c | 75 +++---- builtin/ls-tree.c | 13 +- builtin/mv.c | 13 +- builtin/rerere.c | 8 +- builtin/reset.c | 33 +-- builtin/rm.c | 24 +-- builtin/update-index.c | 6 +- cache.h | 34 +-- commit.h | 2 +- diff-lib.c | 3 +- diff.h | 3 +- dir.c | 261 +++++----------------- dir.h | 18 +- git.c | 8 + merge-recursive.c | 2 +- notes-merge.c | 4 +- path.c | 15 +- pathspec.c | 431 +++++++++++++++++++++++++++++++++---- pathspec.h | 59 ++++- preload-index.c | 21 +- read-cache.c | 5 +- rerere.c | 7 +- rerere.h | 4 +- resolve-undo.c | 4 +- resolve-undo.h | 2 +- revision.c | 11 +- setup.c | 157 +------------- t/t0008-ignores.sh | 8 +- t/t6130-pathspec-noglob.sh | 18 ++ tree-diff.c | 48 +++-- tree-walk.c | 21 +- tree.c | 4 +- tree.h | 2 +- wt-status.c | 18 +- wt-status.h | 2 +- 50 files changed, 983 insertions(+), 772 deletions(-)
-- 1.8.0.rc0.19.g7bbb31d