[PATCH 00/21] "struct pathspec" conversion
- From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
- Date
- Jan 6, 2013, 06:20 UTC
- Message-ID
- <1357453268-12543-1-git-send-email-pclouds@gmail.com>
This is another step towards the pathspec unification. This series introduces a get_pathspec() alternative: parse_pathspec(). The new function intializes struct pathspec directly. Many builtin commands (except mv) are converted to use this function. As a result, struct pathspec is used from the start for many commands.
The next step would be dealing with pathspec manipulation code blocks that use "raw" field, init_pathspec or get_pathspec(). add.c, dir.c, rm.c and mv.c are hot places. And perhaps move pathspec code from dir.c and setup.c to pathspec.c after as/check-ignore enters "master".
This series shares a patch (the first one) with nd/pathspec-wildcard. I put the patch in the series to avoid dependency.
This series also disables wildcards in the prefix part, but it's only effective in combination with nd/pathspec-wildcard. And of course it's not fully effective until all "raw" use is eliminated.
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
pathspec: make sure the prefix part is wildcard-clean
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()archive.c | 12 +++--- archive.h | 2 +- builtin/add.c | 75 ++++++++++++++++++------------------ builtin/checkout.c | 37 ++++++++---------- builtin/clean.c | 20 +++++----- builtin/commit.c | 35 +++++++++-------- 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 | 4 +- builtin/rerere.c | 6 +-- builtin/rm.c | 16 ++++---- builtin/update-index.c | 3 +- cache.h | 19 +++++++--- diff-lib.c | 2 +- dir.c | 38 ++++++++++++++----- 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 | 4 +- setup.c | 101 +++++++++++++++++++++++++++++++++++++------------ tree-walk.c | 4 +- tree.c | 4 +- tree.h | 2 +- wt-status.c | 17 ++++----- wt-status.h | 2 +- 34 files changed, 291 insertions(+), 240 deletions(-)
-- 1.8.0.rc2.23.g1fb49df