Re: [PATCH 1/1] sparse-checkout: list folders in cone mode
- From
Derrick Stolee <stolee@gmail.com>
- Date
- Dec 27, 2019, 14:05 UTC
- Message-ID
- <4ecc2696-421a-9b1b-7b2c-335091aa7b08@gmail.com>
- In-Reply-To
- <xmqqo8vukcqv.fsf@gitster-ct.c.googlers.com>
On 12/26/2019 4:17 PM, Junio C Hamano wrote:
Show 11 quoted lines
> "Derrick Stolee via GitGitGadget" <gitgitgadget@gmail.com> writes: > >> From: Derrick Stolee <dstolee@microsoft.com> > >> 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.
Show 7 quoted lines
>> 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.
Show 18 quoted lines
>> 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