File tree Expand file tree Collapse file tree 5 files changed +24
-2
lines changed Expand file tree Collapse file tree 5 files changed +24
-2
lines changed Original file line number Diff line number Diff line change @@ -61,6 +61,9 @@ OPTIONS
61
61
the working tree. Note that older versions of Git used
62
62
to ignore removed files; use `--no-all` option if you want
63
63
to add modified or new files but ignore removed ones.
64
+ +
65
+ For more details about the <pathspec> syntax, see the 'pathspec' entry
66
+ in linkgit:gitglossary[7].
64
67
65
68
-n::
66
69
--dry-run::
Original file line number Diff line number Diff line change @@ -289,6 +289,9 @@ providing this option will cause it to die.
289
289
<pathspec>...::
290
290
If given, limit the search to paths matching at least one pattern.
291
291
Both leading paths match and glob(7) patterns are supported.
292
+ +
293
+ For more details about the <pathspec> syntax, see the 'pathspec' entry
294
+ in linkgit:gitglossary[7].
292
295
293
296
Examples
294
297
--------
@@ -305,6 +308,9 @@ Examples
305
308
Looks for a line that has `NODE` or `Unexpected` in
306
309
files that have lines that match both.
307
310
311
+ `git grep solution -- :^Documentation`::
312
+ Looks for `solution`, excluding files in `Documentation`.
313
+
308
314
GIT
309
315
---
310
316
Part of the linkgit:git[1] suite
Original file line number Diff line number Diff line change @@ -111,6 +111,8 @@ configuration variable documented in linkgit:git-config[1].
111
111
without options are equivalent to 'always' and 'never'
112
112
respectively.
113
113
114
+ <pathspec>...::
115
+ See the 'pathspec' entry in linkgit:gitglossary[7].
114
116
115
117
OUTPUT
116
118
------
Original file line number Diff line number Diff line change @@ -407,7 +407,7 @@ these forms:
407
407
408
408
exclude;;
409
409
After a path matches any non-exclude pathspec, it will be run
410
- through all exclude pathspec (magic signature: `!` or its
410
+ through all exclude pathspecs (magic signature: `!` or its
411
411
synonym `^`). If it matches, the path is ignored. When there
412
412
is no non-exclude pathspec, the exclusion is applied to the
413
413
result set as if invoked without any pathspec.
Original file line number Diff line number Diff line change 25
25
test_cmp expect actual
26
26
'
27
27
28
- test_expect_success ' exclude only no longer errors out ' '
28
+ test_expect_success ' exclude only pathspec uses default implicit pathspec ' '
29
29
git log --oneline --format=%s -- . ":(exclude)sub" >expect &&
30
30
git log --oneline --format=%s -- ":(exclude)sub" >actual &&
31
31
test_cmp expect actual
183
183
test_cmp expect actual
184
184
'
185
185
186
+ test_expect_success ' multiple exclusions' '
187
+ git ls-files -- ":^*/file2" ":^sub2" >actual &&
188
+ cat <<-\EOF >expect &&
189
+ file
190
+ sub/file
191
+ sub/sub/file
192
+ sub/sub/sub/file
193
+ EOF
194
+ test_cmp expect actual
195
+ '
196
+
186
197
test_done
You can’t perform that action at this time.
0 commit comments