| 1 | sparse.expectFilesOutsideOfPatterns:: |
| 2 | Typically with sparse checkouts, files not matching any |
| 3 | sparsity patterns are marked with a SKIP_WORKTREE bit in the |
| 4 | index and are missing from the working tree. Accordingly, Git |
| 5 | will ordinarily check whether files with the SKIP_WORKTREE bit |
| 6 | are in fact present in the working tree contrary to |
| 7 | expectations. If Git finds any, it marks those paths as |
| 8 | present by clearing the relevant SKIP_WORKTREE bits. This |
| 9 | option can be used to tell Git that such |
| 10 | present-despite-skipped files are expected and to stop |
| 11 | checking for them. |
| 12 | + |
| 13 | The default is `false`, which allows Git to automatically recover |
| 14 | from the list of files in the index and working tree falling out of |
| 15 | sync. |
| 16 | + |
| 17 | Set this to `true` if you are in a setup where some external factor |
| 18 | relieves Git of the responsibility for maintaining the consistency |
| 19 | between the presence of working tree files and sparsity patterns. For |
| 20 | example, if you have a Git-aware virtual file system that has a robust |
| 21 | mechanism for keeping the working tree and the sparsity patterns up to |
| 22 | date based on access patterns. |
| 23 | + |
| 24 | Regardless of this setting, Git does not check for |
| 25 | present-despite-skipped files unless sparse checkout is enabled, so |
| 26 | this config option has no effect unless `core.sparseCheckout` is |
| 27 | `true`. |