git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v3 0/2] sparse-checkout: list directories in cone mode

From
Elijah Newren <newren@gmail.com>
Date
Dec 30, 2019, 17:18 UTC
Message-ID
<CABPp-BGxMJjLCq9S54qqxKq3eFfNiRjVNvKgebRXgxzp=CoFpA@mail.gmail.com>
In-Reply-To
<pull.500.v3.git.1577719993.gitgitgadget@gmail.com>
Hi,
Thanks for the fixups.  Just two small comments.

On Mon, Dec 30, 2019 at 7:33 AM Derrick Stolee via GitGitGadget <gitgitgadget@gmail.com> wrote:

Show 13 quoted lines
>
> When in cone mode, "git sparse-checkout set" takes a list of folders and
> constructs an ordered list of patterns for the sparse-checkout file. The
> "git sparse-checkout list" subcommand outputs the contents of the
> sparse-checkout file in a very basic way.
>
> This patch changes the behavior of "git sparse-checkout list" when
> core.sparseCheckoutCone=true. It will output the folders that were used in
> "git sparse-checkout set" to create the patterns, instead of the patterns
> themselves.
>
> I believe this was requested in the initial review, but I cannot find that
> message now.
This sentence isn't still true, is it?
Show 79 quoted lines
> I was going to include this as part of a longer follow-up series, but I
> think this may be worth considering for the 2.25.0 release. Hence, it is
> included by itself.
>
> Update in V2:
>
>  * Fixed typos/word choice in commit message.
>
>
>  * Added a second commit including clarification on interactions with
>    submodules.
>
>
>
> Thanks, -Stolee
>
> Derrick Stolee (2):
>   sparse-checkout: list directories in cone mode
>   sparse-checkout: document interactions with submodules
>
>  Documentation/git-sparse-checkout.txt | 21 ++++++++++++++-
>  builtin/sparse-checkout.c             | 21 +++++++++++++++
>  t/t1091-sparse-checkout-builtin.sh    | 39 +++++++++++++++++++++++++++
>  3 files changed, 80 insertions(+), 1 deletion(-)
>
>
> base-commit: 761e3d26bbe44c51f83c4f1ad198461f57029ebd
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-500%2Fderrickstolee%2Fsparse-checkout-list-v3
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-500/derrickstolee/sparse-checkout-list-v3
> Pull-Request: https://github.com/gitgitgadget/git/pull/500
>
> Range-diff vs v2:
>
>  1:  d6f4f40486 ! 1:  7d4295bd06 sparse-checkout: list folders in cone mode
>      @@ -1,17 +1,17 @@
>       Author: Derrick Stolee <dstolee@microsoft.com>
>
>      -    sparse-checkout: list folders in cone mode
>      +    sparse-checkout: list directories in cone mode
>
>           When core.sparseCheckoutCone is enabled, the 'git sparse-checkout set'
>      -    command takes a list of folders as input, then creates an ordered
>      -    list of sparse-checkout patterns such that those folders are
>      -    recursively included and all sibling entries along the parent folders
>      +    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
>      -    folders themselves.
>      +    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 folders that created the patterns.
>      +    show the directories that created the patterns.
>
>           With this change, the following piped commands would not change the
>           working directory:
>      @@ -41,8 +41,8 @@
>        based algorithms to compute inclusion in the sparse-checkout.
>
>       +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:
>      ++directories that define the recursive patterns. For the example sparse-checkout
>      ++file above, the output is as follows:
>       +
>       +--------------------------
>       +$ git sparse-checkout list
>  2:  331bb7d6fb ! 2:  74bbd0f84d sparse-checkout: document interactions with submodules
>      @@ -2,11 +2,6 @@
>
>           sparse-checkout: document interactions with submodules
>
>      -    Junio asked what the behavior is between the sparse-checkout feature
>      -    and the submodule feature. The sparse-checkout builtin has not changed
>      -    the way these features interact, but we may as well document it in
>      -    the builtin docs.
>      -

I actually liked the second sentence of this paragraph and thought it provided useful information for future readers; I only thought the first sentence should be removed.

Show 23 quoted lines
>           Using 'git submodule (init|deinit)' a user can select a subset of
>           submodules to populate. This behaves very similar to the sparse-checkout
>           feature, but those directories contain their own .git directory
>      @@ -61,14 +56,14 @@
>       +         git sparse-checkout set folder1
>       + ) &&
>       + list_files super >dir &&
>      -+ cat >expect <<-EOF &&
>      ++ cat >expect <<-\EOF &&
>       +         a
>       +         folder1
>       +         modules
>       + EOF
>       + test_cmp expect dir &&
>       + list_files super/modules/child >dir &&
>      -+ cat >expect <<-EOF &&
>      ++ cat >expect <<-\EOF &&
>       +         a
>       +         deep
>       +         folder1
>
> --
> gitgitgadget
Previous: Derrick Stolee via GitGitGadgetNext: Elijah Newren
Message 17 of 18 in “sparse-checkout: list directories in cone mode”
  1. 0/1 sparse-checkout: list directories in cone modeDerrick Stolee via GitGitGadget, Dec 26, 2019
  2. 1/1 sparse-checkout: list folders in cone modeDerrick Stolee via GitGitGadget, Dec 26, 2019
  3. Junio C HamanoDec 26, 2019
  4. Derrick StoleeDec 27, 2019
  5. Elijah NewrenDec 27, 2019
  6. 0/2 sparse-checkout: list directories in cone modeDerrick Stolee via GitGitGadget, Dec 27, 2019
  7. 1/2 sparse-checkout: list folders in cone modeDerrick Stolee via GitGitGadget, Dec 27, 2019
  8. Elijah NewrenDec 27, 2019
  9. 2/2 sparse-checkout: document interactions with submodulesDerrick Stolee via GitGitGadget, Dec 27, 2019
  10. Eric SunshineDec 27, 2019
  11. Derrick StoleeDec 30, 2019
  12. Elijah NewrenDec 27, 2019
  13. Junio C HamanoDec 27, 2019
  14. 0/2 sparse-checkout: list directories in cone modeDerrick Stolee via GitGitGadget, Dec 30, 2019
  15. 1/2 sparse-checkout: list directories in cone modeDerrick Stolee via GitGitGadget, Dec 30, 2019
  16. 2/2 sparse-checkout: document interactions with submodulesDerrick Stolee via GitGitGadget, Dec 30, 2019
  17. Elijah NewrenDec 30, 2019
  18. Elijah NewrenDec 27, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.