Subject: [PATCH v1 00/45] nd/parse-pathspec and :(glob) pathspec magic

From: Nguyễn Thái Ngọc Duy <[email-masked]>
Date: Fri, 15 Mar 2013 13:06:15 +0700

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 pathspec

 Documentation/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