Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/libgit2.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell Belfer <rb@github.com>2012-04-14 02:00:29 +0400
committerRussell Belfer <rb@github.com>2012-04-14 02:00:29 +0400
commit14a513e05866721f5ceba18cf425568d2f6af143 (patch)
tree4c31553a2c971adf579d2c5c287749ce45949c8c /src/attr_file.c
parentd1f331564da9d6110b80b538a501da0c66e59142 (diff)
Add support for pathspec to diff and status
This adds preliminary support for pathspecs to diff and status. The implementation is not very optimized (it still looks at every single file and evaluated the the pathspec match against them), but it works.
Diffstat (limited to 'src/attr_file.c')
-rw-r--r--src/attr_file.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/attr_file.c b/src/attr_file.c
index 6568313e5..b2edce90e 100644
--- a/src/attr_file.c
+++ b/src/attr_file.c
@@ -334,6 +334,10 @@ int git_attr_fnmatch__parse(
spec->flags = spec->flags | GIT_ATTR_FNMATCH_FULLPATH;
slash_count++;
}
+ /* remember if we see an unescaped wildcard in pattern */
+ else if ((*scan == '*' || *scan == '.' || *scan == '[') &&
+ (scan == pattern || (*(scan - 1) != '\\')))
+ spec->flags = spec->flags | GIT_ATTR_FNMATCH_HASWILD;
}
*base = scan;