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
6161 the working tree. Note that older versions of Git used
6262 to ignore removed files; use `--no-all` option if you want
6363 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].
6467
6568-n::
6669--dry-run::
Original file line number Diff line number Diff line change @@ -289,6 +289,9 @@ providing this option will cause it to die.
289289<pathspec>...::
290290 If given, limit the search to paths matching at least one pattern.
291291 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].
292295
293296Examples
294297--------
@@ -305,6 +308,9 @@ Examples
305308 Looks for a line that has `NODE` or `Unexpected` in
306309 files that have lines that match both.
307310
311+ `git grep solution -- :^Documentation`::
312+ Looks for `solution`, excluding files in `Documentation`.
313+
308314GIT
309315---
310316Part 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].
111111 without options are equivalent to 'always' and 'never'
112112 respectively.
113113
114+ <pathspec>...::
115+ See the 'pathspec' entry in linkgit:gitglossary[7].
114116
115117OUTPUT
116118------
Original file line number Diff line number Diff line change @@ -407,7 +407,7 @@ these forms:
407407
408408exclude;;
409409 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
411411 synonym `^`). If it matches, the path is ignored. When there
412412 is no non-exclude pathspec, the exclusion is applied to the
413413 result set as if invoked without any pathspec.
Original file line number Diff line number Diff line change 2525 test_cmp expect actual
2626'
2727
28- test_expect_success ' exclude only no longer errors out ' '
28+ test_expect_success ' exclude only pathspec uses default implicit pathspec ' '
2929 git log --oneline --format=%s -- . ":(exclude)sub" >expect &&
3030 git log --oneline --format=%s -- ":(exclude)sub" >actual &&
3131 test_cmp expect actual
183183 test_cmp expect actual
184184'
185185
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+
186197test_done
You can’t perform that action at this time.
0 commit comments