Subject: [PATCH v2 00/21] nd/parse-pathspec reroll

From: Nguyễn Thái Ngọc Duy <[email-masked]>
Date: Fri, 11 Jan 2013 18:20:54 +0700

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 pathspec

 archive.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