diff options
| author | Carlos Martín Nieto <cmn@dwim.me> | 2015-04-23 17:08:10 +0200 |
|---|---|---|
| committer | Carlos Martín Nieto <cmn@dwim.me> | 2015-04-23 17:08:10 +0200 |
| commit | 63e8b08dfcaa039e7bbbcfa4b5cdcea8bddf13c0 (patch) | |
| tree | 2dd141bfba65683a730fdaeefd3e2a408dc59f6c /src | |
| parent | 27fa7477b008bff27c5aaecb1b2b908540a5798a (diff) | |
| parent | c02a0e46eb0ec68a4069edf34a537cf319be51b6 (diff) | |
| download | libgit2-63e8b08dfcaa039e7bbbcfa4b5cdcea8bddf13c0.tar.gz | |
Merge branch 'attr-ignore'
Diffstat (limited to 'src')
| -rw-r--r-- | src/attr_file.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/attr_file.c b/src/attr_file.c index 8997946b9..eed39661f 100644 --- a/src/attr_file.c +++ b/src/attr_file.c @@ -394,6 +394,7 @@ bool git_attr_fnmatch__match( if ((match->flags & GIT_ATTR_FNMATCH_DIRECTORY) && !path->is_dir) { int matchval; + char *matchpath; /* for attribute checks or root ignore checks, fail match */ if (!(match->flags & GIT_ATTR_FNMATCH_IGNORE) || @@ -403,7 +404,13 @@ bool git_attr_fnmatch__match( /* for ignore checks, use container of current item for check */ path->basename[-1] = '\0'; flags |= FNM_LEADING_DIR; - matchval = p_fnmatch(match->pattern, path->path, flags); + + if (match->containing_dir) + matchpath = path->basename; + else + matchpath = path->path; + + matchval = p_fnmatch(match->pattern, matchpath, flags); path->basename[-1] = '/'; return (matchval != FNM_NOMATCH); } |
