On 12/26/2019 4:17 PM, Junio C Hamano wrote: > "Derrick Stolee via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > >> From: Derrick Stolee <dstolee@xxxxxxxxxxxxx> > >> Subject: Re: [PATCH 1/1] sparse-checkout: list folders in cone mode > s/folder/directory/ everywhere as the rest of Git. > >> When core.sparseCheckoutCone is enabled, the 'git sparse-checkout set' >> command taks a list of folders as input, then creates an ordered > > "takes" Good catch. >> list of sparse-checkout patterns such that those folders are >> recursively included and all sibling blobs along the parent folders > > In this sentence, what does a "blob" really mean? Do you mean a > filesystem entity, that is not a folder, that is immediately > contained in the "parent folder" (in other words, regular files > and symbolic links)? You're right, I'm using strange wording here. How about "sibling entries"? > How would this interact with a submodule by the way? I just checked with the Git repo by running: git submodule init git submodule update git sparse-checkout init --cone The working directory then contains all blobs at root AND the sha1collisiondetection submodule. Interesting that the sparse- checkout feature ignores submodules. That seems like the best approach since the user can already enlist in a subset of the submodules. >> are also included. Listing the patterns is less user-friendly than the >> folders 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 folders that created the patterns. >> ... >> +In the cone mode case, the `git sparse-checkout list` subcommand will list the >> +folders that define the recursive patterns. For the example sparse-checkout file >> +above, the output is as follows: >> + >> +-------------------------- >> +$ git sparse-checkout list >> +A/B/C >> +-------------------------- >> + > > Sounds like a worthwhile usability improvement. Thanks, -Stolee