git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Elijah Newren <newren@gmail.com>
To: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Cc: "Derrick Stolee" <stolee@gmail.com>,
	"Derrick Stolee via GitGitGadget" <gitgitgadget@gmail.com>,
	"Git Mailing List" <git@vger.kernel.org>,
	"Junio C Hamano" <gitster@pobox.com>,
	"Nguyễn Thái Ngọc" <pclouds@gmail.com>,
	"Jonathan Nieder" <jrnieder@gmail.com>,
	"Martin Ågren" <martin.agren@gmail.com>,
	"SZEDER Gábor" <szeder.dev@gmail.com>,
	"Derrick Stolee" <derrickstolee@github.com>,
	"Derrick Stolee" <dstolee@microsoft.com>
Subject: Re: [PATCH v4 07/20] test-read-cache: print cache entries with --table
Date: Thu, 25 Mar 2021 17:12:55 -0700	[thread overview]
Message-ID: <CABPp-BGRwxn73sntpX8Q5aD-O192RZmOOy_jiU3SQp4-erivtg@mail.gmail.com> (raw)
In-Reply-To: <874kgzq4qi.fsf@evledraar.gmail.com>

Hi,

On Wed, Mar 24, 2021 at 8:41 PM Ævar Arnfjörð Bjarmason
<avarab@gmail.com> wrote:
>
> On Wed, Mar 24 2021, Derrick Stolee wrote:
>
> > On 3/23/21 9:24 PM, Ævar Arnfjörð Bjarmason wrote:
> >>
> >> On Tue, Mar 23 2021, Derrick Stolee via GitGitGadget wrote:
> >>
> >>> From: Derrick Stolee <dstolee@microsoft.com>
> >>>
...
> >> It's not so much that I still disagree as I feel like I'm missing
> >> something. I haven't gone through this topic with a fine toothed comb,
> >> so ...
> >>
> >> If and when these patches land and I'm using this nascent sparse
> >> checkout support why wouldn't I want ls-files or another not-a-test-tool
> >> to support extracting this new information that's in the index?
> >>
> >> That's why I sent the RFC patches at
> >> https://lore.kernel.org/git/20210317132814.30175-2-avarab@gmail.com/ to
> >> roll this functionality into ls-files.
> >
> > And I recommend that you continue to pursue them as an independent
> > series, but I'm not going to incorporate them into this one. I'm
> > not going to distract from this internal data structure with changes
> > to user-facing commands until I think it's ready to use. As the design
> > document describes the plan, I don't expect this to be something I
> > will recommend to users until most of "Phase 3" is complete, making
> > the most common Git commands aware of a sparse index. (I expect to
> > fast-track a prototype to willing users that covers that functionality
> > while review continues on the mailing list.)
>
> This series is 20 patches. Your current derrickstolee/sparse-index/wip
> is another 36, and from skimming those patches & your design doc those
> 56 seem to be partway into Phase I of IV.
>
> So at the rate things tend to get reviewed / re-rolled & land in git.git
> it seems exceedingly likely that we'll have some part-way implementation
> of this for at least a major release or two. No?
>
> Which is why I'm suggesting/asking if we shouldn't have something like
> this debugging helper as part of installed tooling, because people are
> going to try it, it's probably going to have bugs and do other weird
> things, and I'd rather not have to manually build some test-tool to
> debug some local sparse checkout somewhere.

I'm curious why you feel it's critical that this particular piece of
debugging machinery needs to be prioritized early and exposed; in
particular, I'm not sure I follow the "people are going to try it"
assertion.  Are you the one who is going to try it or are you going to
give it to your users?  If so, what do you need out of the debugging
tool?

You are correct that this will span multiple releases; Stolee already
said he was planning to be working on this for most of 2021.  But just
because pieces of the code exist and are shipped doesn't mean it'll be
announced or supported.  For example, the git-2.30 and git-2.31
release notes were completely silent about merge-ort.  It existed in
both releases; in fact, the version that ships in git-2.31, could
theoretically be used successfully by the vast majority of users for
their daily workflow.  (But it does have known shortcomings and test
failures so I definitely did *not* want it to be announced at that
time.)

> > Making a change to a builtin is _forever_, and since the only
> > purpose right now is to expose the data in a test environment, I
> > don't want to adjust the builtin until either there is a real user
> > need or the feature has otherwise stabilized. If you want to take on
> > that responsibility, then please do.
>
> That's just not the case, we have plenty of unstable debug-esque options
> in various built-in commands, in fact ls-files already has a --debug
> option whose docs say:
>
>     This is intended to show as much information as possible for manual
>     inspection; the exact format may change at any time.
>
> It was added in 84974217151 (ls-files: learn a debugging dump format,
> 2010-07-31) and "just tacks all available data from the cache onto each
> file's line" so in a way not adjusting it and using it would be a
> regression, after all this is new data in the cache, so it should print
> it :)
>
> There's also PARSE_OPT_HIDDEN for other such in-tree use. Whatever the
> sanity/merits of me suggesting that this specific thing be in ls-files
> instead of a test-helper, it seems far fetched that something like that
> hidden behind a GIT_TEST_* env var (or hidden option, --debug etc.) is
> something we'd need to worry about backwards compatibility for.
>
> So, whatever you think about the merits of including this functionality
> in ls-files I think your stance of this being a no-go for adding to the
> builtin is based on a false premise. It's fine to have
> unstable/transitory/debug output in the builtins. We just name &
> document them as such.
>
> I also had some feedback in that series and on the earlier iteration
> that I think is appropriate to be incorporated into a re-roll of this
> one, which doesn't have anything to do with the question of whether we
> use ls-files or the helper in the tests. Such as us showing more stuff
> into the read-cache.c test-tool v.s. splitting it up making that code
> needlessly convoluted.

Well:
  * you seem to be strongly opposed to test-read-cache.c containing
this code (though I don't quite follow why)
  * Stolee seems to be strongly opposed to modifying
builtin/ls-files.c until he has time to think through how builtins
should work.

So putting it in another test file that looks slightly duplicative of
test-read-cache.c might indeed be a good way out of this conundrum.
:-)

(I'm not opposed to any of the three solutions, I'm mostly chiming in
here because I'm worried about possible bubbling frustration; see
below.)

> I don't see how recommending that I pursue that as an independent series
> is productive for anyone. So as you re-roll this I should submit another
> series on top to refactor your in-flight code & tests?

Your tone suggests some frustration; I have a suspicion there's some
lack of understanding or misreading that has occurred (perhaps on my
part too), and before that misunderstanding morphs into motive
questioning, let me see if I might be able to help...

So far, you have advocated for:
  A) Moving the checks to ls-files with a permanent new flag (--sparse)
  B) Duplicating test-read-cache.c (which is admittedly pretty small)
and then modifying the duplicate to have the new behavior, or
alternatively:
  C) Just stating files to get the information
  D) Creating new debug option(s) to ls-files so that end users can
use this in the next few releases before the feature is ready for
prime time
You also mentioned you had read just part of the series.

Option D comes with the problem that it's not at all clear who these
end-users are, why they want the option, or how we should design it.
Personally, I'm totally onboard that ls-files should generally have
the ability to show information in the index (e.g. if there are tree
entries in addition to blob entries, it should be able to show both),
but I'm not following the reasoning for why it needs to be there as
part of the early stages of development of the sparse-index feature
and who it's supposed to be helping in these next few releases.

The progression also suggests that Option B might have just been a
step along the way and that you were advocating for Option D now.  I
think it'd be easy to miss that you still had option B open and
considered it equivalently good to option D (or am I misreading?),
much like you missed how option C wasn't even relevant to the problem
at hand or option A would have introduced perpetual confusion as a
mere duplicate of --stage (in the best case scenario, anyway).
They're all easy misunderstandings.

> Either my suggestions are just bad, and we shouldn't do them at all, or
> it makes sense to incorporate relevant feedback in re-rolls. I'll let
> other reviewers draw their own conclusions on that.

I think that's a bit unfair; Stolee has been incorporating feedback.
He even called out fixing up things at your suggestion in v4 of his
re-roll.

> That's not a snarky "I'm right" b.t.w., I may honestly be full of it on
> this particular topic.
>
> But if those suggested changes are worth doing at all, then doing them
> in that way seems like a massive waste of time for everyone involved, or
> maybe I'm not getting what you're suggesting by pursuing them as an
> independent series.

I think you should instead read it as he has no idea why this needs to
be exposed in ls-files, who these users are you are asserting will be
using it, or how to cater for their needs.  Shouldn't the person who
implements this understand those pieces to avoid a massive waste of
time?

> > Otherwise, I will need to eventually handle "git ls-files" being
> > sparse-aware when eventually removing 'command_requires_full_index',
> > (Phase 4) so that would be a good opportunity to adjust the
> > expectations.
>
> At which point you'd be adjusting your tests that expect ls-tree format
> output to using ls-files output, instead of using ls-files-like output
> from the beginning?

I don't understand what you're getting at here.  I was the one who
requested Stolee make the output look like ls-trees in his original
RFC series, so if there's a problem with this style of output, I'm to
blame.  But, what is exactly the problem?  Old-style ls-files output
just isn't relevant anymore.  ls-tree prints four things: mode, type,
hash, and filename.  ls-files prints all of those except "type".  The
reason ls-files never included type before was because it was always
"blob".  This series changes that, and adds "tree" to the mix.  Once
you have different types included in the index, then ls-files has to
print all the same fields that ls-tree does...so why not make it look
similar?

> At the end of this E-Mail is a patch on top that adds an undocumented
> --debug-sparse in addition to the existing --debug. Running that in the
> middle of one of your tests:
>
>     $ ~/g/git/git ls-files --debug -- a folder1
>     a
>       ctime: 1616641434:474004002
>       mtime: 1616641434:474004002
>       dev: 2306     ino: 28576528
>       uid: 1001     gid: 1001
>       size: 8       flags: 0
>     folder1/a
>       ctime: 0:0
>       mtime: 0:0
>       dev: 0        ino: 0
>       uid: 0        gid: 0
>       size: 0       flags: 40000000
>     $ ~/g/git/git ls-files --debug --debug-sparse -- a folder1
>     a
>       ctime: 1616641434:474004002
>       mtime: 1616641434:474004002
>       dev: 2306     ino: 28576528
>       uid: 1001     gid: 1001
>       size: 8       flags: 0
>     folder1/
>       ctime: 0:0
>       mtime: 0:0
>       dev: 0        ino: 0
>       uid: 0        gid: 0
>       size: 0       flags: 40004000
>     $ ~/g/git/git ls-files --stage -- a folder1
>     100644 e79c5e8f964493290a409888d5413a737e8e5dd5 0       a
>     100644 e79c5e8f964493290a409888d5413a737e8e5dd5 0       folder1/a
>     $ ~/g/git/git ls-files --stage --debug-sparse -- a folder1
>     100644 e79c5e8f964493290a409888d5413a737e8e5dd5 0       a
>     040000 f203181537ff55dcf7896bf8c5b5c35af1514421 0       folder1/
>
> I.e. it gives you everything your helper does and more with a trivial
> addition of a --debug-sparse (which we can later just remove, it's a
> debug option...).
>
> See e.g. my recent 15c9649730d (grep/log: remove hidden --debug and
> --grep-debug options, 2021-01-26) which is already in a release, and
> AFAICT nobody has noticed or cared.
>
> I don't know if that's the stat() information you wanted (your WIP
> branch doesn't have such a change), but presumably it either is the info
> you want, or ls-files's --debug would want to emit any such such info
> that's now missing too.
>
> diff --git a/builtin/ls-files.c b/builtin/ls-files.c
> index 13bcc2d8473..e691512d4f8 100644
> --- a/builtin/ls-files.c
> +++ b/builtin/ls-files.c
> @@ -34,6 +34,7 @@ static int show_valid_bit;
>  static int show_fsmonitor_bit;
>  static int line_terminator = '\n';
>  static int debug_mode;
> +static int debug_sparse_mode;
>  static int show_eol;
>  static int recurse_submodules;
>  static int skipping_duplicates;
> @@ -242,9 +243,17 @@ static void show_ce(struct repository *repo, struct dir_struct *dir,
>                 if (!show_stage) {
>                         fputs(tag, stdout);
>                 } else {
> +                       unsigned int mode = ce->ce_mode;
> +                       if (debug_sparse_mode && S_ISSPARSEDIR(mode))
> +                               /*
> +                                * We could just do & 0177777 all the
> +                                * time, just make it clear this is
> +                                * for --debug-sparse.
> +                                */
> +                               mode &= 0177777;
>                         printf("%s%06o %s %d\t",
>                                tag,
> -                              ce->ce_mode,
> +                              mode,
>                                find_unique_abbrev(&ce->oid, abbrev),
>                                ce_stage(ce));
>                 }
> @@ -667,6 +676,7 @@ int cmd_ls_files(int argc, const char **argv, const char *cmd_prefix)
>                         N_("pretend that paths removed since <tree-ish> are still present")),
>                 OPT__ABBREV(&abbrev),
>                 OPT_BOOL(0, "debug", &debug_mode, N_("show debugging data")),
> +               OPT_BOOL(0, "debug-sparse", &debug_sparse_mode, N_("show sparse debugging data")),
>                 OPT_BOOL(0, "deduplicate", &skipping_duplicates,
>                          N_("suppress duplicate entries")),
>                 OPT_END()
> @@ -681,9 +691,6 @@ int cmd_ls_files(int argc, const char **argv, const char *cmd_prefix)
>                 prefix_len = strlen(prefix);
>         git_config(git_default_config, NULL);
>
> -       if (repo_read_index(the_repository) < 0)
> -               die("index file corrupt");
> -
>         argc = parse_options(argc, argv, prefix, builtin_ls_files_options,
>                         ls_files_usage, 0);
>         pl = add_pattern_list(&dir, EXC_CMDL, "--exclude option");
> @@ -700,6 +707,10 @@ int cmd_ls_files(int argc, const char **argv, const char *cmd_prefix)
>                 tag_skip_worktree = "S ";
>                 tag_resolve_undo = "U ";
>         }
> +       if (debug_sparse_mode) {
> +               prepare_repo_settings(the_repository);
> +               the_repository->settings.command_requires_full_index = 0;
> +       }
>         if (show_modified || show_others || show_deleted || (dir.flags & DIR_SHOW_IGNORED) || show_killed)
>                 require_work_tree = 1;
>         if (show_unmerged)
> @@ -743,6 +754,12 @@ int cmd_ls_files(int argc, const char **argv, const char *cmd_prefix)
>                 max_prefix = common_prefix(&pathspec);
>         max_prefix_len = get_common_prefix_len(max_prefix);
>
> +       /*
> +        * Read the index after parse options etc. have had a chance
> +        * to die early.
> +        */
> +       if (repo_read_index(the_repository) < 0)
> +               die("index file corrupt");
>         prune_index(the_repository->index, max_prefix, max_prefix_len);
>
>         /* Treat unmatching pathspec elements as errors */

  reply	other threads:[~2021-03-26  0:14 UTC|newest]

Thread overview: 203+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-23 20:14 [PATCH 00/20] Sparse Index: Design, Format, Tests Derrick Stolee via GitGitGadget
2021-02-23 20:14 ` [PATCH 01/20] sparse-index: design doc and format update Derrick Stolee via GitGitGadget
2021-02-24  1:13   ` Elijah Newren
2021-02-25 15:29     ` Derrick Stolee
2021-02-25 20:14       ` Elijah Newren
2021-02-23 20:14 ` [PATCH 02/20] t/perf: add performance test for sparse operations Derrick Stolee via GitGitGadget
2021-02-24  2:30   ` Elijah Newren
2021-03-09 20:03     ` Derrick Stolee
2021-02-23 20:14 ` [PATCH 03/20] t1092: clean up script quoting Derrick Stolee via GitGitGadget
2021-02-23 20:14 ` [PATCH 04/20] sparse-index: add guard to ensure full index Derrick Stolee via GitGitGadget
2021-02-24  2:44   ` Elijah Newren
2021-02-23 20:14 ` [PATCH 05/20] sparse-index: implement ensure_full_index() Derrick Stolee via GitGitGadget
2021-02-24  3:20   ` Elijah Newren
2021-02-23 20:14 ` [PATCH 06/20] t1092: compare sparse-checkout to sparse-index Derrick Stolee via GitGitGadget
2021-02-25  6:37   ` Elijah Newren
2021-02-23 20:14 ` [PATCH 07/20] test-read-cache: print cache entries with --table Derrick Stolee via GitGitGadget
2021-02-25  7:02   ` Elijah Newren
2021-03-09 21:00     ` Derrick Stolee
2021-02-23 20:14 ` [PATCH 08/20] test-tool: don't force full index Derrick Stolee via GitGitGadget
2021-02-23 20:14 ` [PATCH 09/20] unpack-trees: ensure " Derrick Stolee via GitGitGadget
2021-02-23 20:14 ` [PATCH 10/20] sparse-checkout: hold pattern list in index Derrick Stolee via GitGitGadget
2021-02-25  7:14   ` Elijah Newren
2021-02-23 20:14 ` [PATCH 11/20] sparse-index: convert from full to sparse Derrick Stolee via GitGitGadget
2021-02-25  7:33   ` Elijah Newren
2021-03-09 21:13     ` Derrick Stolee
2021-02-23 20:14 ` [PATCH 12/20] submodule: sparse-index should not collapse links Derrick Stolee via GitGitGadget
2021-02-23 20:14 ` [PATCH 13/20] unpack-trees: allow sparse directories Derrick Stolee via GitGitGadget
2021-02-25  7:40   ` Elijah Newren
2021-03-09 21:35     ` Derrick Stolee
2021-03-09 21:39       ` Elijah Newren
2021-02-23 20:14 ` [PATCH 14/20] sparse-index: check index conversion happens Derrick Stolee via GitGitGadget
2021-02-23 20:14 ` [PATCH 15/20] sparse-index: create extension for compatibility Derrick Stolee via GitGitGadget
2021-02-25  7:45   ` Elijah Newren
2021-03-09 21:45     ` Derrick Stolee
2021-02-23 20:14 ` [PATCH 16/20] sparse-checkout: toggle sparse index from builtin Derrick Stolee via GitGitGadget
2021-02-24 19:11   ` Martin Ågren
2021-03-09 20:52     ` Derrick Stolee
2021-03-09 21:03       ` Elijah Newren
2021-03-09 21:10         ` Derrick Stolee
2021-03-09 21:38           ` Elijah Newren
2021-03-14 20:08       ` Martin Ågren
2021-03-15 13:36         ` Derrick Stolee
2021-02-23 20:14 ` [PATCH 17/20] sparse-checkout: disable sparse-index Derrick Stolee via GitGitGadget
2021-02-27 12:32   ` SZEDER Gábor
2021-03-09 20:20     ` Derrick Stolee
2021-03-10 18:20       ` Derrick Stolee
2021-02-23 20:14 ` [PATCH 18/20] cache-tree: integrate with sparse directory entries Derrick Stolee via GitGitGadget
2021-02-23 20:14 ` [PATCH 19/20] sparse-index: loose integration with cache_tree_verify() Derrick Stolee via GitGitGadget
2021-02-23 20:14 ` [PATCH 20/20] p2000: add sparse-index repos Derrick Stolee via GitGitGadget
2021-02-23 23:49 ` [PATCH 00/20] Sparse Index: Design, Format, Tests Elijah Newren
2021-02-26 21:28   ` Elijah Newren
2021-03-10 19:30 ` [PATCH v2 " Derrick Stolee via GitGitGadget
2021-03-10 19:30   ` [PATCH v2 01/20] sparse-index: design doc and format update Derrick Stolee via GitGitGadget
2021-03-10 22:19     ` Elijah Newren
2021-03-10 19:30   ` [PATCH v2 02/20] t/perf: add performance test for sparse operations Derrick Stolee via GitGitGadget
2021-03-10 19:30   ` [PATCH v2 03/20] t1092: clean up script quoting Derrick Stolee via GitGitGadget
2021-03-10 19:30   ` [PATCH v2 04/20] sparse-index: add guard to ensure full index Derrick Stolee via GitGitGadget
2021-03-10 19:30   ` [PATCH v2 05/20] sparse-index: implement ensure_full_index() Derrick Stolee via GitGitGadget
2021-03-12  6:50     ` Junio C Hamano
2021-03-12 13:56       ` Derrick Stolee
2021-03-12 20:08         ` Junio C Hamano
2021-03-12 20:11           ` Derrick Stolee
2021-03-15 23:52             ` Ævar Arnfjörð Bjarmason
2021-03-10 19:30   ` [PATCH v2 06/20] t1092: compare sparse-checkout to sparse-index Derrick Stolee via GitGitGadget
2021-03-10 23:04     ` Elijah Newren
2021-03-11 14:17       ` Derrick Stolee
2021-03-10 19:30   ` [PATCH v2 07/20] test-read-cache: print cache entries with --table Derrick Stolee via GitGitGadget
2021-03-10 19:30   ` [PATCH v2 08/20] test-tool: don't force full index Derrick Stolee via GitGitGadget
2021-03-10 19:30   ` [PATCH v2 09/20] unpack-trees: ensure " Derrick Stolee via GitGitGadget
2021-03-10 19:30   ` [PATCH v2 10/20] sparse-checkout: hold pattern list in index Derrick Stolee via GitGitGadget
2021-03-10 19:30   ` [PATCH v2 11/20] sparse-index: convert from full to sparse Derrick Stolee via GitGitGadget
2021-03-10 23:44     ` Elijah Newren
2021-03-11 14:13       ` Derrick Stolee
2021-03-10 19:30   ` [PATCH v2 12/20] submodule: sparse-index should not collapse links Derrick Stolee via GitGitGadget
2021-03-10 19:30   ` [PATCH v2 13/20] unpack-trees: allow sparse directories Derrick Stolee via GitGitGadget
2021-03-10 19:30   ` [PATCH v2 14/20] sparse-index: check index conversion happens Derrick Stolee via GitGitGadget
2021-03-10 19:30   ` [PATCH v2 15/20] sparse-index: create extension for compatibility Derrick Stolee via GitGitGadget
2021-03-10 19:30   ` [PATCH v2 16/20] sparse-checkout: toggle sparse index from builtin Derrick Stolee via GitGitGadget
2021-03-10 19:31   ` [PATCH v2 17/20] sparse-checkout: disable sparse-index Derrick Stolee via GitGitGadget
2021-03-10 19:31   ` [PATCH v2 18/20] cache-tree: integrate with sparse directory entries Derrick Stolee via GitGitGadget
2021-03-10 19:31   ` [PATCH v2 19/20] sparse-index: loose integration with cache_tree_verify() Derrick Stolee via GitGitGadget
2021-03-10 19:31   ` [PATCH v2 20/20] p2000: add sparse-index repos Derrick Stolee via GitGitGadget
2021-03-11  0:07   ` [PATCH v2 00/20] Sparse Index: Design, Format, Tests Elijah Newren
2021-03-16 16:42   ` [PATCH v3 " Derrick Stolee via GitGitGadget
2021-03-16 16:42     ` [PATCH v3 01/20] sparse-index: design doc and format update Derrick Stolee via GitGitGadget
2021-03-19 23:43       ` Junio C Hamano
2021-03-23 11:16         ` Derrick Stolee
2021-03-23 20:10           ` Junio C Hamano
2021-03-23 20:42             ` Derrick Stolee
2021-03-16 16:42     ` [PATCH v3 02/20] t/perf: add performance test for sparse operations Derrick Stolee via GitGitGadget
2021-03-17  8:41       ` Ævar Arnfjörð Bjarmason
2021-03-17 13:05         ` Derrick Stolee
2021-03-17 13:21           ` Ævar Arnfjörð Bjarmason
2021-03-17 18:02             ` Derrick Stolee
2021-03-16 16:42     ` [PATCH v3 03/20] t1092: clean up script quoting Derrick Stolee via GitGitGadget
2021-03-17  8:47       ` Ævar Arnfjörð Bjarmason
2021-03-16 16:42     ` [PATCH v3 04/20] sparse-index: add guard to ensure full index Derrick Stolee via GitGitGadget
2021-03-16 16:42     ` [PATCH v3 05/20] sparse-index: implement ensure_full_index() Derrick Stolee via GitGitGadget
2021-03-17 13:03       ` Ævar Arnfjörð Bjarmason
2021-03-16 16:42     ` [PATCH v3 06/20] t1092: compare sparse-checkout to sparse-index Derrick Stolee via GitGitGadget
2021-03-16 16:42     ` [PATCH v3 07/20] test-read-cache: print cache entries with --table Derrick Stolee via GitGitGadget
2021-03-17 13:28       ` [RFC/PATCH 0/5] " Ævar Arnfjörð Bjarmason
2021-03-17 18:28         ` Elijah Newren
2021-03-17 19:46           ` Derrick Stolee
2021-03-17 20:26             ` Elijah Newren
2021-03-17 20:34               ` Derrick Stolee
2021-03-17 13:28       ` [RFC/PATCH 1/5] ls-files: defer read_index() after parse_options() etc Ævar Arnfjörð Bjarmason
2021-03-17 13:28       ` [RFC/PATCH 2/5] ls-files: make "mode" in show_ce() loop a variable Ævar Arnfjörð Bjarmason
2021-03-17 18:11         ` Elijah Newren
2021-03-24  0:46           ` Ævar Arnfjörð Bjarmason
2021-03-17 13:28       ` [RFC/PATCH 3/5] ls-files: add and use a new --sparse option Ævar Arnfjörð Bjarmason
2021-03-17 18:19         ` Elijah Newren
2021-03-17 18:27           ` Ævar Arnfjörð Bjarmason
2021-03-17 18:44             ` Elijah Newren
2021-03-17 20:43         ` Derrick Stolee
2021-03-24  0:52           ` Ævar Arnfjörð Bjarmason
2021-03-17 13:28       ` [RFC/PATCH 4/5] test-tool read-cache: --table is redundant to ls-files Ævar Arnfjörð Bjarmason
2021-03-17 13:28       ` [RFC/PATCH 5/5] test-tool: split up test-tool read-cache Ævar Arnfjörð Bjarmason
2021-03-17 13:32         ` Ævar Arnfjörð Bjarmason
2021-03-16 16:42     ` [PATCH v3 08/20] test-tool: don't force full index Derrick Stolee via GitGitGadget
2021-03-16 16:42     ` [PATCH v3 09/20] unpack-trees: ensure " Derrick Stolee via GitGitGadget
2021-03-16 16:42     ` [PATCH v3 10/20] sparse-checkout: hold pattern list in index Derrick Stolee via GitGitGadget
2021-03-16 16:42     ` [PATCH v3 11/20] sparse-index: convert from full to sparse Derrick Stolee via GitGitGadget
2021-03-17 13:43       ` Ævar Arnfjörð Bjarmason
2021-03-17 19:55         ` Derrick Stolee
2021-03-18 13:38           ` Derrick Stolee
2021-03-16 16:42     ` [PATCH v3 12/20] submodule: sparse-index should not collapse links Derrick Stolee via GitGitGadget
2021-03-16 16:42     ` [PATCH v3 13/20] unpack-trees: allow sparse directories Derrick Stolee via GitGitGadget
2021-03-17 13:35       ` Ævar Arnfjörð Bjarmason
2021-03-16 16:42     ` [PATCH v3 14/20] sparse-index: check index conversion happens Derrick Stolee via GitGitGadget
2021-03-16 16:42     ` [PATCH v3 15/20] sparse-index: create extension for compatibility Derrick Stolee via GitGitGadget
2021-03-16 16:42     ` [PATCH v3 16/20] sparse-checkout: toggle sparse index from builtin Derrick Stolee via GitGitGadget
2021-03-16 16:43     ` [PATCH v3 17/20] sparse-checkout: disable sparse-index Derrick Stolee via GitGitGadget
2021-03-16 16:43     ` [PATCH v3 18/20] cache-tree: integrate with sparse directory entries Derrick Stolee via GitGitGadget
2021-03-16 16:43     ` [PATCH v3 19/20] sparse-index: loose integration with cache_tree_verify() Derrick Stolee via GitGitGadget
2021-03-16 16:43     ` [PATCH v3 20/20] p2000: add sparse-index repos Derrick Stolee via GitGitGadget
2021-03-16 16:59     ` [PATCH v3 00/20] Sparse Index: Design, Format, Tests Derrick Stolee
2021-03-16 21:18     ` Elijah Newren
2021-03-18 21:50     ` Junio C Hamano
2021-03-19 13:00       ` Derrick Stolee
2021-03-23 13:44     ` [PATCH v4 " Derrick Stolee via GitGitGadget
2021-03-23 13:44       ` [PATCH v4 01/20] sparse-index: design doc and format update Derrick Stolee via GitGitGadget
2021-03-26 20:29         ` SZEDER Gábor
2021-03-28  1:47           ` Junio C Hamano
2021-03-29 14:32             ` Derrick Stolee
2021-03-23 13:44       ` [PATCH v4 02/20] t/perf: add performance test for sparse operations Derrick Stolee via GitGitGadget
2021-03-23 13:44       ` [PATCH v4 03/20] t1092: clean up script quoting Derrick Stolee via GitGitGadget
2021-03-23 13:44       ` [PATCH v4 04/20] sparse-index: add guard to ensure full index Derrick Stolee via GitGitGadget
2021-03-23 13:44       ` [PATCH v4 05/20] sparse-index: implement ensure_full_index() Derrick Stolee via GitGitGadget
2021-03-23 13:44       ` [PATCH v4 06/20] t1092: compare sparse-checkout to sparse-index Derrick Stolee via GitGitGadget
2021-03-23 13:44       ` [PATCH v4 07/20] test-read-cache: print cache entries with --table Derrick Stolee via GitGitGadget
2021-03-24  1:24         ` Ævar Arnfjörð Bjarmason
2021-03-24 12:33           ` Derrick Stolee
2021-03-25  3:41             ` Ævar Arnfjörð Bjarmason
2021-03-26  0:12               ` Elijah Newren [this message]
2021-03-28 15:31                 ` Ævar Arnfjörð Bjarmason
2021-03-29 19:46                   ` Derrick Stolee
2021-03-29 21:44                     ` Junio C Hamano
2021-03-30 11:28                       ` Derrick Stolee
2021-03-29 23:06                     ` Ævar Arnfjörð Bjarmason
2021-03-30 11:41                       ` Derrick Stolee
2021-03-29 22:02                   ` Elijah Newren
2021-03-23 13:44       ` [PATCH v4 08/20] test-tool: don't force full index Derrick Stolee via GitGitGadget
2021-03-23 13:44       ` [PATCH v4 09/20] unpack-trees: ensure " Derrick Stolee via GitGitGadget
2021-03-23 13:44       ` [PATCH v4 10/20] sparse-checkout: hold pattern list in index Derrick Stolee via GitGitGadget
2021-03-23 13:44       ` [PATCH v4 11/20] sparse-index: convert from full to sparse Derrick Stolee via GitGitGadget
2021-03-23 13:44       ` [PATCH v4 12/20] submodule: sparse-index should not collapse links Derrick Stolee via GitGitGadget
2021-03-23 13:44       ` [PATCH v4 13/20] unpack-trees: allow sparse directories Derrick Stolee via GitGitGadget
2021-03-23 13:44       ` [PATCH v4 14/20] sparse-index: check index conversion happens Derrick Stolee via GitGitGadget
2021-03-23 13:44       ` [PATCH v4 15/20] sparse-index: create extension for compatibility Derrick Stolee via GitGitGadget
2021-03-23 13:44       ` [PATCH v4 16/20] sparse-checkout: toggle sparse index from builtin Derrick Stolee via GitGitGadget
2021-03-23 13:44       ` [PATCH v4 17/20] sparse-checkout: disable sparse-index Derrick Stolee via GitGitGadget
2021-03-23 13:44       ` [PATCH v4 18/20] cache-tree: integrate with sparse directory entries Derrick Stolee via GitGitGadget
2021-03-23 13:44       ` [PATCH v4 19/20] sparse-index: loose integration with cache_tree_verify() Derrick Stolee via GitGitGadget
2021-03-23 13:44       ` [PATCH v4 20/20] p2000: add sparse-index repos Derrick Stolee via GitGitGadget
2021-03-23 16:16       ` [PATCH v4 00/20] Sparse Index: Design, Format, Tests Elijah Newren
2021-03-30 13:10       ` [PATCH v5 00/21] " Derrick Stolee via GitGitGadget
2021-03-30 13:10         ` [PATCH v5 01/21] sparse-index: design doc and format update Derrick Stolee via GitGitGadget
2021-03-30 13:10         ` [PATCH v5 02/21] t/perf: add performance test for sparse operations Derrick Stolee via GitGitGadget
2021-03-30 13:10         ` [PATCH v5 03/21] t1092: clean up script quoting Derrick Stolee via GitGitGadget
2021-03-30 13:10         ` [PATCH v5 04/21] sparse-index: add guard to ensure full index Derrick Stolee via GitGitGadget
2021-03-30 13:10         ` [PATCH v5 05/21] sparse-index: implement ensure_full_index() Derrick Stolee via GitGitGadget
2021-03-30 13:10         ` [PATCH v5 06/21] t1092: compare sparse-checkout to sparse-index Derrick Stolee via GitGitGadget
2021-03-30 13:10         ` [PATCH v5 07/21] test-read-cache: print cache entries with --table Derrick Stolee via GitGitGadget
2021-03-30 13:10         ` [PATCH v5 08/21] test-tool: don't force full index Derrick Stolee via GitGitGadget
2021-03-30 13:10         ` [PATCH v5 09/21] unpack-trees: ensure " Derrick Stolee via GitGitGadget
2021-03-30 13:10         ` [PATCH v5 10/21] sparse-checkout: hold pattern list in index Derrick Stolee via GitGitGadget
2021-03-30 13:10         ` [PATCH v5 11/21] sparse-index: add 'sdir' index extension Derrick Stolee via GitGitGadget
2021-03-30 13:10         ` [PATCH v5 12/21] sparse-index: convert from full to sparse Derrick Stolee via GitGitGadget
2021-03-30 13:10         ` [PATCH v5 13/21] submodule: sparse-index should not collapse links Derrick Stolee via GitGitGadget
2021-03-30 13:10         ` [PATCH v5 14/21] unpack-trees: allow sparse directories Derrick Stolee via GitGitGadget
2021-03-30 13:10         ` [PATCH v5 15/21] sparse-index: check index conversion happens Derrick Stolee via GitGitGadget
2021-03-30 13:10         ` [PATCH v5 16/21] sparse-index: add index.sparse config option Derrick Stolee via GitGitGadget
2021-03-30 13:11         ` [PATCH v5 17/21] sparse-checkout: toggle sparse index from builtin Derrick Stolee via GitGitGadget
2021-03-30 13:11         ` [PATCH v5 18/21] sparse-checkout: disable sparse-index Derrick Stolee via GitGitGadget
2021-03-30 13:11         ` [PATCH v5 19/21] cache-tree: integrate with sparse directory entries Derrick Stolee via GitGitGadget
2021-03-30 13:11         ` [PATCH v5 20/21] sparse-index: loose integration with cache_tree_verify() Derrick Stolee via GitGitGadget
2021-03-30 13:11         ` [PATCH v5 21/21] p2000: add sparse-index repos Derrick Stolee via GitGitGadget
2021-03-30 20:11         ` [PATCH v5 00/21] Sparse Index: Design, Format, Tests Junio C Hamano
2021-03-30 21:31           ` Derrick Stolee
2021-03-30 21:49             ` Junio C Hamano
2021-04-01  5:59             ` Elijah Newren
2021-04-01  4:38         ` Elijah Newren

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CABPp-BGRwxn73sntpX8Q5aD-O192RZmOOy_jiU3SQp4-erivtg@mail.gmail.com \
    --to=newren@gmail.com \
    --cc=avarab@gmail.com \
    --cc=derrickstolee@github.com \
    --cc=dstolee@microsoft.com \
    --cc=git@vger.kernel.org \
    --cc=gitgitgadget@gmail.com \
    --cc=gitster@pobox.com \
    --cc=jrnieder@gmail.com \
    --cc=martin.agren@gmail.com \
    --cc=pclouds@gmail.com \
    --cc=stolee@gmail.com \
    --cc=szeder.dev@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).