diff options
author | Adam Spiers <git@adamspiers.org> | 2012-12-27 02:32:28 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-12-28 12:07:46 -0800 |
commit | a35341a86ecf354d46cf326ed9e0ffbceb54309d (patch) | |
tree | eb24f88e39224e0d5fe63b4cbc5055a335379919 /dir.h | |
parent | f4cd69a67469eff90bee8e31529ca4e03c1afdf2 (diff) | |
download | git-a35341a86ecf354d46cf326ed9e0ffbceb54309d.tar.gz |
dir.c: refactor is_path_excluded()
In a similar way to the previous commit, this extracts a new helper
function last_exclude_matching_path() which return the last
exclude_list element which matched, or NULL if no match was found.
is_path_excluded() becomes a wrapper around this, and just returns 0
or 1 depending on whether any matching exclude_list element was found.
This allows callers to find out _why_ a given path was excluded,
rather than just whether it was or not, paving the way for a new git
sub-command which allows users to test their exclude lists from the
command line.
Signed-off-by: Adam Spiers <git@adamspiers.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'dir.h')
-rw-r--r-- | dir.h | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -119,10 +119,13 @@ extern int match_pathname(const char *, int, */ struct path_exclude_check { struct dir_struct *dir; + struct exclude *exclude; struct strbuf path; }; extern void path_exclude_check_init(struct path_exclude_check *, struct dir_struct *); extern void path_exclude_check_clear(struct path_exclude_check *); +extern struct exclude *last_exclude_matching_path(struct path_exclude_check *, const char *, + int namelen, int *dtype); extern int is_path_excluded(struct path_exclude_check *, const char *, int namelen, int *dtype); |