[PATCH v2 00/21] nd/parse-pathspec reroll
- From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
- Date
- Jan 11, 2013, 11:20 UTC
- Message-ID
- <1357903275-16804-1-git-send-email-pclouds@gmail.com>
Changes:
- The incorrect patch 'pathspec: make sure the prefix part is wildcard-clean' is removed. I want to keep this series simple. Complex pathspec manipulation will have its own series later.
- Fix t7400.38 failure when core.ignorecase is on. We should exercise core.ignorecase codepath more in the test suite, but that should be in a separate series.
- parse_pathspec() learns PATHSPEC_EMPTY_MATCH_ALL flag to support "no pathspec means match everything", which is used by some commands like commit/status
- rename 'raw' to '_raw' to catch new access sites
I also checked if we still have similar faults to t7400.38 (modifying pathspec directly leading to inconsistencies) and I think we're safe.
Nguyễn Thái Ngọc Duy (21):
pathspec: save the non-wildcard length part
Add parse_pathspec() that converts cmdline args to struct pathspec
Export parse_pathspec() and convert some get_pathspec() calls
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
add: convert to use parse_pathspec
Convert read_cache_preload() to take 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 more init_pathspec() to parse_pathspec()
Rename field "raw" to "_raw" in struct pathspecarchive.c | 12 +++--- archive.h | 2 +- builtin/add.c | 102 ++++++++++++++++++------------------------------- builtin/checkout.c | 37 ++++++++---------- builtin/clean.c | 20 +++++----- builtin/commit.c | 39 +++++++++---------- builtin/diff-files.c | 2 +- builtin/diff-index.c | 2 +- builtin/diff.c | 4 +- builtin/grep.c | 6 +-- builtin/log.c | 2 +- builtin/ls-files.c | 64 +++++++++++-------------------- builtin/ls-tree.c | 6 +-- builtin/rerere.c | 6 +-- builtin/rm.c | 16 ++++---- builtin/update-index.c | 3 +- cache.h | 25 +++++++++--- diff-lib.c | 2 +- dir.c | 72 +++++++++++++++++++++++++++++----- dir.h | 5 ++- merge-recursive.c | 2 +- preload-index.c | 20 +++++----- read-cache.c | 5 ++- rerere.c | 6 +-- rerere.h | 4 +- resolve-undo.c | 4 +- resolve-undo.h | 2 +- revision.c | 8 ++-- setup.c | 102 +++++++++++++++++++++++++++++++++++++------------ tree-diff.c | 8 ++-- tree-walk.c | 4 +- tree.c | 4 +- tree.h | 2 +- wt-status.c | 17 ++++----- wt-status.h | 2 +- 35 files changed, 339 insertions(+), 278 deletions(-)
-- 1.8.0.rc2.23.g1fb49df