diff options
author | Derrick Stolee <dstolee@microsoft.com> | 2019-12-30 15:33:12 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-12-30 09:07:18 -0800 |
commit | de11951b0393500cbf20d3e2bcd2e605d757ea8f (patch) | |
tree | 91da2d2cbd25de5a2e5de37b12a84b8ae9d4a45b /Documentation | |
parent | sparse-checkout: improve OS ls compatibility (diff) | |
download | tgif-de11951b0393500cbf20d3e2bcd2e605d757ea8f.tar.xz |
sparse-checkout: list directories in cone mode
When core.sparseCheckoutCone is enabled, the 'git sparse-checkout set'
command takes a list of directories as input, then creates an ordered
list of sparse-checkout patterns such that those directories are
recursively included and all sibling entries along the parent directories
are also included. Listing the patterns is less user-friendly than the
directories themselves.
In cone mode, and as long as the patterns match the expected cone-mode
pattern types, change the output of 'git sparse-checkout list' to only
show the directories that created the patterns.
With this change, the following piped commands would not change the
working directory:
git sparse-checkout list | git sparse-checkout set --stdin
The only time this would not work is if core.sparseCheckoutCone is
true, but the sparse-checkout file contains patterns that do not
match the expected pattern types for cone mode.
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/git-sparse-checkout.txt | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/Documentation/git-sparse-checkout.txt b/Documentation/git-sparse-checkout.txt index 9c3c66cc37..67be5247b9 100644 --- a/Documentation/git-sparse-checkout.txt +++ b/Documentation/git-sparse-checkout.txt @@ -28,7 +28,7 @@ THE FUTURE. COMMANDS -------- 'list':: - Provide a list of the contents in the sparse-checkout file. + Describe the patterns in the sparse-checkout file. 'init':: Enable the `core.sparseCheckout` setting. If the @@ -150,6 +150,15 @@ expecting patterns of these types. Git will warn if the patterns do not match. If the patterns do match the expected format, then Git will use faster hash- based algorithms to compute inclusion in the sparse-checkout. +In the cone mode case, the `git sparse-checkout list` subcommand will list the +directories that define the recursive patterns. For the example sparse-checkout +file above, the output is as follows: + +-------------------------- +$ git sparse-checkout list +A/B/C +-------------------------- + If `core.ignoreCase=true`, then the pattern-matching algorithm will use a case-insensitive check. This corrects for case mismatched filenames in the 'git sparse-checkout set' command to reflect the expected cone in the working |