Subject: [PATCH v3 00/31] nd/parse-pathspec

From: Nguyễn Thái Ngọc Duy <[email-masked]>
Date: Sun, 13 Jan 2013 19:35:08 +0700

Changes from v2 (it's hard to keep track of after the rebase, so I may
be missing something here):

 - rebased on top of recent master, incorporate changes in
   init_pathspec from jk/pathspec-literal and nd/pathspec-wildcard to
   parse_pathspec

 - kill strip_trailing_slash_from_submodules and treat_gitlinks
   (pretty sure it'll cause conflicts with as/check-ignore)

 - kill init_pathspec, match_pathspec, diff_tree_setup_paths and
   diff_tree_release_paths
 
 - check points for future pathspec development

As far as I understand the "pathspec unification", I'd say we are
there, with a few exceptions like "mv", external commands.. But those
are pretty much isolated.

I'll send another WIP series implementing :(icase) and :(glob), mainly
to show (me) how future pathspec feature development looks like after
this.

Nguyễn Thái Ngọc Duy (31):
  clean: remove unused variable "seen"
  Add copy_pathspec
  Add parse_pathspec() that converts cmdline args to struct pathspec
  parse_pathspec: save original pathspec for reporting
  Export parse_pathspec() and convert some get_pathspec() calls
  Guard against new pathspec magic in pathspec matching code
  clean: convert to use parse_pathspec
  parse_pathspec: add PATHSPEC_EMPTY_MATCH_ALL
  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
  parse_pathspec: support stripping submodule trailing slashes
  ls-files: convert to use parse_pathspec
  archive: convert to use parse_pathspec
  parse_pathspec: support stripping/checking submodule paths
  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 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
  Rename field "raw" to "_raw" in struct pathspec

 archive.c              |  18 +++--
 archive.h              |   2 +-
 builtin/add.c          | 155 +++++++++++++++----------------------
 builtin/blame.c        |  12 +--
 builtin/checkout.c     |  44 ++++++-----
 builtin/clean.c        |  21 ++---
 builtin/commit.c       |  37 +++++----
 builtin/diff-files.c   |   2 +-
 builtin/diff-index.c   |   2 +-
 builtin/diff.c         |   6 +-
 builtin/grep.c         |   6 +-
 builtin/log.c          |   2 +-
 builtin/ls-files.c     |  72 +++++++-----------
 builtin/ls-tree.c      |  10 ++-
 builtin/mv.c           |  13 ++--
 builtin/rerere.c       |   6 +-
 builtin/reset.c        |   4 +-
 builtin/rm.c           |  23 +++---
 builtin/update-index.c |   3 +-
 cache.h                |  36 +++++++--
 diff-lib.c             |   2 +-
 diff.h                 |   2 -
 dir.c                  | 202 ++++++++-----------------------------------------
 dir.h                  |   9 ++-
 merge-recursive.c      |   2 +-
 notes-merge.c          |   4 +-
 preload-index.c        |  20 ++---
 read-cache.c           |   5 +-
 rerere.c               |   6 +-
 rerere.h               |   4 +-
 resolve-undo.c         |   4 +-
 resolve-undo.h         |   2 +-
 revision.c             |  11 +--
 setup.c                | 149 ++++++++++++++++++++++++++++++------
 tree-diff.c            |  47 +++++++-----
 tree-walk.c            |   2 +
 tree.c                 |   4 +-
 tree.h                 |   2 +-
 wt-status.c            |  17 ++---
 wt-status.h            |   2 +-
 40 files changed, 460 insertions(+), 510 deletions(-)

-- 
1.8.0.rc2.23.g1fb49df