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

[PATCH v4 00/11] new git check-ignore sub-command

From
Adam Spiers <git@adamspiers.org>
Date
Jan 6, 2013, 16:58 UTC
Message-ID
<1357491493-11619-1-git-send-email-git@adamspiers.org>
In-Reply-To
<20130106161758.GC2396@pacific.linksys.moosehall>

This is the v4 re-roll of the check-ignore series, which is based on Junio's as/dir-c-cleanup topic branch f6198812 (dir.c: rename free_excludes() to clear_exclude_list(), 2012-12-27). As previously discussed, the earlier parts of the v3 series seem to be complete and are progressing to 'next'.

Since v3, I addressed the issue of newly public functions with unacceptably vague or generic names via the following steps:

  - eliminated extraction from add.c to pathspec.c of two functions
    which did not need to be public (validate_pathspec() and
    treat_gitlinks())
  - edited the series history to create separate commits for
    extraction of reusable code from treat_gitlinks() and
    validate_pathspec() into more carefully named public functions
This should make reviewing easier.

I will summarise the changes in the revised patches since v3 in between the "---" divider and the diffstat of each individual patch.

This series is also available via the check-ignore-v4 tag in:
    git://github.com/aspiers/git.git
Adam Spiers (11):
  dir.c: use a single struct exclude_list per source of excludes
  dir.c: keep track of where patterns came from
  dir.c: provide clear_directory() for reclaiming dir_struct memory
  dir.c: improve docs for match_pathspec() and match_pathspec_depth()
  add.c: remove unused argument from validate_pathspec()
  add.c: move pathspec matchers into new pathspec.c for reuse
  pathspec.c: rename newly public functions for clarity
  add.c: extract check_path_for_gitlink() from treat_gitlinks() for
    reuse
  add.c: extract new die_if_path_beyond_symlink() for reuse
  setup.c: document get_pathspec()
  add git-check-ignore sub-command
 .gitignore                                        |   1 +
 Documentation/git-check-ignore.txt                |  89 +++
 Documentation/gitignore.txt                       |   6 +-
 Documentation/technical/api-directory-listing.txt |  14 +-
 Makefile                                          |   3 +
 builtin.h                                         |   1 +
 builtin/add.c                                     |  78 +--
 builtin/check-ignore.c                            | 173 ++++++
 builtin/clean.c                                   |   3 +-
 builtin/ls-files.c                                |   9 +-
 command-list.txt                                  |   1 +
 contrib/completion/git-completion.bash            |   1 +
 dir.c                                             | 152 ++++--
 dir.h                                             |  62 ++-
 git.c                                             |   1 +
 pathspec.c                                        | 101 ++++
 pathspec.h                                        |   9 +
 setup.c                                           |  19 +
 t/t0008-ignores.sh                                | 632 ++++++++++++++++++++++
 unpack-trees.c                                    |   2 +-
 20 files changed, 1240 insertions(+), 117 deletions(-)
 create mode 100644 Documentation/git-check-ignore.txt
 create mode 100644 builtin/check-ignore.c
 create mode 100644 pathspec.c
 create mode 100644 pathspec.h
 create mode 100755 t/t0008-ignores.sh
-- 
1.7.11.7.33.gb8feba5
Previous: Adam SpiersNext: Adam Spiers
Message 5 of 16 in “What's cooking in git.git (Jan 2013, #02; Thu, 3)”
  1. Junio C HamanoJan 3, 2013
  2. Adam SpiersJan 4, 2013
  3. Junio C HamanoJan 4, 2013
  4. Adam SpiersJan 6, 2013
  5. 00/11 new git check-ignore sub-commandAdam Spiers, Jan 6, 2013
  6. 01/11 dir.c: use a single struct exclude_list per source of excludesAdam Spiers, Jan 6, 2013
  7. 02/11 dir.c: keep track of where patterns came fromAdam Spiers, Jan 6, 2013
  8. 03/11 dir.c: provide clear_directory() for reclaiming dir_struct memoryAdam Spiers, Jan 6, 2013
  9. 04/11 dir.c: improve docs for match_pathspec() and match_pathspec_depth()Adam Spiers, Jan 6, 2013
  10. 05/11 add.c: remove unused argument from validate_pathspec()Adam Spiers, Jan 6, 2013
  11. 06/11 add.c: move pathspec matchers into new pathspec.c for reuseAdam Spiers, Jan 6, 2013
  12. 07/11 pathspec.c: rename newly public functions for clarityAdam Spiers, Jan 6, 2013
  13. 08/11 add.c: extract check_path_for_gitlink() from treat_gitlinks() for reuseAdam Spiers, Jan 6, 2013
  14. 09/11 add.c: extract new die_if_path_beyond_symlink() for reuseAdam Spiers, Jan 6, 2013
  15. 10/11 setup.c: document get_pathspec()Adam Spiers, Jan 6, 2013
  16. 11/11 add git-check-ignore sub-commandAdam Spiers, Jan 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.