git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[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
Next: Nguyễn Thái Ngọc Duy
Message 1 of 26 in “"struct pathspec" conversion”
  1. 00/21 "struct pathspec" conversionNguyễn Thái Ngọc Duy, Jan 6, 2013
  2. 01/21 pathspec: save the non-wildcard length partNguyễn Thái Ngọc Duy, Jan 6, 2013
  3. 02/21 Add parse_pathspec() that converts cmdline args to struct pathspecNguyễn Thái Ngọc Duy, Jan 6, 2013
  4. Martin von ZweigbergkJan 10, 2013
  5. Duy NguyenJan 11, 2013
  6. 03/21 pathspec: make sure the prefix part is wildcard-cleanNguyễn Thái Ngọc Duy, Jan 6, 2013
  7. Duy NguyenJan 7, 2013
  8. 04/21 Export parse_pathspec() and convert some get_pathspec() callsNguyễn Thái Ngọc Duy, Jan 6, 2013
  9. 05/21 clean: convert to use parse_pathspecNguyễn Thái Ngọc Duy, Jan 6, 2013
  10. 06/21 commit: convert to use parse_pathspecNguyễn Thái Ngọc Duy, Jan 6, 2013
  11. 07/21 status: convert to use parse_pathspecNguyễn Thái Ngọc Duy, Jan 6, 2013
  12. 08/21 rerere: convert to use parse_pathspecNguyễn Thái Ngọc Duy, Jan 6, 2013
  13. 09/21 checkout: convert to use parse_pathspecNguyễn Thái Ngọc Duy, Jan 6, 2013
  14. 10/21 rm: convert to use parse_pathspecNguyễn Thái Ngọc Duy, Jan 6, 2013
  15. 11/21 ls-files: convert to use parse_pathspecNguyễn Thái Ngọc Duy, Jan 6, 2013
  16. 12/21 archive: convert to use parse_pathspecNguyễn Thái Ngọc Duy, Jan 6, 2013
  17. 13/21 add: convert to use parse_pathspecNguyễn Thái Ngọc Duy, Jan 6, 2013
  18. 14/21 Convert read_cache_preload() to take struct pathspecNguyễn Thái Ngọc Duy, Jan 6, 2013
  19. 15/21 Convert unmerge_cache to take struct pathspecNguyễn Thái Ngọc Duy, Jan 6, 2013
  20. 16/21 checkout: convert read_tree_some to take struct pathspecNguyễn Thái Ngọc Duy, Jan 6, 2013
  21. 17/21 Convert report_path_error to take struct pathspecNguyễn Thái Ngọc Duy, Jan 6, 2013
  22. 18/21 Convert refresh_index to take struct pathspecNguyễn Thái Ngọc Duy, Jan 6, 2013
  23. 19/21 Convert {read,fill}_directory to take struct pathspecNguyễn Thái Ngọc Duy, Jan 6, 2013
  24. 20/21 Convert add_files_to_cache to take struct pathspecNguyễn Thái Ngọc Duy, Jan 6, 2013
  25. 21/21 Convert more init_pathspec() to parse_pathspec()Nguyễn Thái Ngọc Duy, Jan 6, 2013
  26. Junio C HamanoJan 6, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.