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

Re: [PATCH v4 07/20] test-read-cache: print cache entries with --table

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Mar 28, 2021, 15:31 UTC
Message-ID
<87eeg0ng78.fsf@evledraar.gmail.com>
In-Reply-To
<CABPp-BGRwxn73sntpX8Q5aD-O192RZmOOy_jiU3SQp4-erivtg@mail.gmail.com>
On Fri, Mar 26 2021, Elijah Newren wrote:
Show 54 quoted lines
> 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.

The debugging machinery's already there, the question is why we have a need for duplicating code in-tree.

I just did some cursory review of this topic, and wondered why its tests couldn't use a builtin instead of (mostly) reinventing the wheel.

It seems to me that the reason for that state is based on a misunderstanding about what we would and wouldn't add to builtin/*.c, i.e. that we wouldn't have something like a --debug option, but as ls-files shows that's not a problem.

So my interest is twofold:
 * Just a comment on "can we avoid this code duplication"
 * The related one of not wanting to re-learn some custom test helper as
   (presumably) we get N number of large patch serieses on this topic,
   if it turns out that we can use an existing well-known tool with
   minimal changes.
> 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?

I haven't understood the sparse index enough feature enough to know if anyone would ever want to run this --debug-sparse outside of the test suite.

Isn't extract info about its internal state going to be useful sooner than later in the scenarios where you'd care enough to run "ls-files --stage" now?

Maybe I've misunderstood this feature and it's going to be so transparent that nobody will ever have any reason to dump how it's working out of the index...

Show 10 quoted lines
> 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.)

Yes, and that's fine. But if you'd been bending over backwards to add merge-ort to t/helper/ "because it's not ready yet" or something I'd have probably commented to the effect of "can't we just add it as part of builtins but not advertise it?" which is what you did :)

Show 41 quoted lines
>> > 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)
See above.
>   * Stolee seems to be strongly opposed to modifying
> builtin/ls-files.c until he has time to think through how builtins
> should work.

As noted above my reading of upthread is that those reasons basically boil down to not knowing "git ls-files --debug" exists, and that we can extend it.

> 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.
> :-)

FWIW I think that read-cache.c split is worth doing even if this series doesn't modify t/helper/read-cache.c.

The "this is for fsmonitor" and "this is for the perf test" use-cases are (as I think my RFC patch shows) clearer once they're split up.

Show 12 quoted lines
> (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...

Honestly more flabbergasted than anything, so I'm trying to clarify what the author thinks of this direction.

I mean it's fine if it's just a "I don't think this is important and don't want to spend time on it, but it seems like a good idea", in which case others have the option of re-rolling some of these patches if they care (at this point I wouldn't).

Or "this is just a bad idea for XYZ reason", which is also fine, and even more valuable to document for future work in the area.

But to have another series built on this with refactorings back and forth before code's landed on master just seems like needless churn.

Show 13 quoted lines
> 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. [...]

I think s/advocated/read the series and sent an flow-of-thought not-ready-for-anything RFC patches on top/ would be more accurate :)

I.e. the A) --sparse thing was just reading the patch and seeing if ls-files couldn't be made to do this, but yes, having the documented --sparse interface might not make sense.

we discussed B) above.

C) Was a question to clarify what was meant with stat data, since it's an offhand comment in the commit message. Does it mean "stat after the fact" or "this will have a mode like ls-files --debug has now"?

Right now I'm just suggesting with D) that this might be rolled into the dev-only-not-for-end-users --debug mode.

Show 6 quoted lines
> 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.

We already are extracting the info at this early stage, just with a custom helper. All I'm suggesting right now is that the motivation for the custom helper is "this isn't for end users" then surely having a patch around 1/2 the size to add it to already reviewed/tested ls-files code under a --debug option makes more sense.

Especially since the upthread commit mentions wanting to incorporate stat() data. I'm not sure how exactly (there's no outstanding patches, even on a WIP branch for it, AFAICT), but most likely it's further duplication of data "ls-files --debug" already spews out.

So the patch would be 1/2 the size, and instead of saying "let's do stat stuff in the future" it would get it for free.

Or not, part of that's speculation on information that's just in Stolee's head. Hence this side-discussion.

> [...]
[Cut parts hopefully all clarified with the above comments]
Show 9 quoted lines
>> [..]
>> 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.

I didn't read the RFC series, so I missed that there was past discussion on this point.

Perhaps something to roll into an updated commit message? My reading of the current version is that it suggests that the ls-tree-like output is important to get at the data we need, which my patch-for-discussion shows isn't the case.

> [...] 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?

I don't have a problem with how the output looks, I happen to like the ls-tree output better, I've just been suggesting that differing output == code duplication.

In any case. I'm sorry about any comments I've made that came across as snarky or whatever. Since we're talking in a text-based medium I'm going to take the reading of a third-party native speaker (you) over mine.

I didn't mean any comments I've made that way, I'm very interested in seeing this feature land, and just want to try to help it along. Given the size of this thread over a relatively trivial matter I think that "help" is probably counterproductive at this point.

I don't think this is criticial or needs to be done or whatever. I've only kept up this thread for the reasons stated above, i.e. it seeming to me to be based on the premise that we can't add certain code to builtin/*.c, and if we can get around that we can make this simpler.

Previous: Elijah NewrenNext: Derrick Stolee
Message 156 of 203 in “Sparse Index: Design, Format, Tests”
  1. 00/20 Sparse Index: Design, Format, TestsDerrick Stolee via GitGitGadget, Feb 23, 2021
  2. 01/20 sparse-index: design doc and format updateDerrick Stolee via GitGitGadget, Feb 23, 2021
  3. Elijah NewrenFeb 24, 2021
  4. Derrick StoleeFeb 25, 2021
  5. Elijah NewrenFeb 25, 2021
  6. 03/20 t1092: clean up script quotingDerrick Stolee via GitGitGadget, Feb 23, 2021
  7. 02/20 t/perf: add performance test for sparse operationsDerrick Stolee via GitGitGadget, Feb 23, 2021
  8. Elijah NewrenFeb 24, 2021
  9. Derrick StoleeMar 9, 2021
  10. 04/20 sparse-index: add guard to ensure full indexDerrick Stolee via GitGitGadget, Feb 23, 2021
  11. Elijah NewrenFeb 24, 2021
  12. 05/20 sparse-index: implement ensure_full_index()Derrick Stolee via GitGitGadget, Feb 23, 2021
  13. Elijah NewrenFeb 24, 2021
  14. 14/20 sparse-index: check index conversion happensDerrick Stolee via GitGitGadget, Feb 23, 2021
  15. 16/20 sparse-checkout: toggle sparse index from builtinDerrick Stolee via GitGitGadget, Feb 23, 2021
  16. Martin ÅgrenFeb 24, 2021
  17. Derrick StoleeMar 9, 2021
  18. Elijah NewrenMar 9, 2021
  19. Derrick StoleeMar 9, 2021
  20. Elijah NewrenMar 9, 2021
  21. Martin ÅgrenMar 14, 2021
  22. Derrick StoleeMar 15, 2021
  23. 07/20 test-read-cache: print cache entries with --tableDerrick Stolee via GitGitGadget, Feb 23, 2021
  24. Elijah NewrenFeb 25, 2021
  25. Derrick StoleeMar 9, 2021
  26. 06/20 t1092: compare sparse-checkout to sparse-indexDerrick Stolee via GitGitGadget, Feb 23, 2021
  27. Elijah NewrenFeb 25, 2021
  28. 11/20 sparse-index: convert from full to sparseDerrick Stolee via GitGitGadget, Feb 23, 2021
  29. Elijah NewrenFeb 25, 2021
  30. Derrick StoleeMar 9, 2021
  31. 10/20 sparse-checkout: hold pattern list in indexDerrick Stolee via GitGitGadget, Feb 23, 2021
  32. Elijah NewrenFeb 25, 2021
  33. 09/20 unpack-trees: ensure full indexDerrick Stolee via GitGitGadget, Feb 23, 2021
  34. 08/20 test-tool: don't force full indexDerrick Stolee via GitGitGadget, Feb 23, 2021
  35. 13/20 unpack-trees: allow sparse directoriesDerrick Stolee via GitGitGadget, Feb 23, 2021
  36. Elijah NewrenFeb 25, 2021
  37. Derrick StoleeMar 9, 2021
  38. Elijah NewrenMar 9, 2021
  39. 12/20 submodule: sparse-index should not collapse linksDerrick Stolee via GitGitGadget, Feb 23, 2021
  40. 15/20 sparse-index: create extension for compatibilityDerrick Stolee via GitGitGadget, Feb 23, 2021
  41. Elijah NewrenFeb 25, 2021
  42. Derrick StoleeMar 9, 2021
  43. 17/20 sparse-checkout: disable sparse-indexDerrick Stolee via GitGitGadget, Feb 23, 2021
  44. SZEDER GáborFeb 27, 2021
  45. Derrick StoleeMar 9, 2021
  46. Derrick StoleeMar 10, 2021
  47. 18/20 cache-tree: integrate with sparse directory entriesDerrick Stolee via GitGitGadget, Feb 23, 2021
  48. 20/20 p2000: add sparse-index reposDerrick Stolee via GitGitGadget, Feb 23, 2021
  49. 19/20 sparse-index: loose integration with cache_tree_verify()Derrick Stolee via GitGitGadget, Feb 23, 2021
  50. Elijah NewrenFeb 23, 2021
  51. Elijah NewrenFeb 26, 2021
  52. 00/20 Sparse Index: Design, Format, TestsDerrick Stolee via GitGitGadget, Mar 10, 2021
  53. 01/20 sparse-index: design doc and format updateDerrick Stolee via GitGitGadget, Mar 10, 2021
  54. Elijah NewrenMar 10, 2021
  55. 02/20 t/perf: add performance test for sparse operationsDerrick Stolee via GitGitGadget, Mar 10, 2021
  56. 05/20 sparse-index: implement ensure_full_index()Derrick Stolee via GitGitGadget, Mar 10, 2021
  57. Junio C HamanoMar 12, 2021
  58. Derrick StoleeMar 12, 2021
  59. Junio C HamanoMar 12, 2021
  60. Derrick StoleeMar 12, 2021
  61. Ævar Arnfjörð BjarmasonMar 15, 2021
  62. 04/20 sparse-index: add guard to ensure full indexDerrick Stolee via GitGitGadget, Mar 10, 2021
  63. 03/20 t1092: clean up script quotingDerrick Stolee via GitGitGadget, Mar 10, 2021
  64. 06/20 t1092: compare sparse-checkout to sparse-indexDerrick Stolee via GitGitGadget, Mar 10, 2021
  65. Elijah NewrenMar 10, 2021
  66. Derrick StoleeMar 11, 2021
  67. 07/20 test-read-cache: print cache entries with --tableDerrick Stolee via GitGitGadget, Mar 10, 2021
  68. 14/20 sparse-index: check index conversion happensDerrick Stolee via GitGitGadget, Mar 10, 2021
  69. 08/20 test-tool: don't force full indexDerrick Stolee via GitGitGadget, Mar 10, 2021
  70. 12/20 submodule: sparse-index should not collapse linksDerrick Stolee via GitGitGadget, Mar 10, 2021
  71. 13/20 unpack-trees: allow sparse directoriesDerrick Stolee via GitGitGadget, Mar 10, 2021
  72. 11/20 sparse-index: convert from full to sparseDerrick Stolee via GitGitGadget, Mar 10, 2021
  73. Elijah NewrenMar 10, 2021
  74. Derrick StoleeMar 11, 2021
  75. 09/20 unpack-trees: ensure full indexDerrick Stolee via GitGitGadget, Mar 10, 2021
  76. 15/20 sparse-index: create extension for compatibilityDerrick Stolee via GitGitGadget, Mar 10, 2021
  77. 19/20 sparse-index: loose integration with cache_tree_verify()Derrick Stolee via GitGitGadget, Mar 10, 2021
  78. 10/20 sparse-checkout: hold pattern list in indexDerrick Stolee via GitGitGadget, Mar 10, 2021
  79. 17/20 sparse-checkout: disable sparse-indexDerrick Stolee via GitGitGadget, Mar 10, 2021
  80. 18/20 cache-tree: integrate with sparse directory entriesDerrick Stolee via GitGitGadget, Mar 10, 2021
  81. 20/20 p2000: add sparse-index reposDerrick Stolee via GitGitGadget, Mar 10, 2021
  82. 16/20 sparse-checkout: toggle sparse index from builtinDerrick Stolee via GitGitGadget, Mar 10, 2021
  83. Elijah NewrenMar 11, 2021
  84. 00/20 Sparse Index: Design, Format, TestsDerrick Stolee via GitGitGadget, Mar 16, 2021
  85. 01/20 sparse-index: design doc and format updateDerrick Stolee via GitGitGadget, Mar 16, 2021
  86. Junio C HamanoMar 19, 2021
  87. Derrick StoleeMar 23, 2021
  88. Junio C HamanoMar 23, 2021
  89. Derrick StoleeMar 23, 2021
  90. 03/20 t1092: clean up script quotingDerrick Stolee via GitGitGadget, Mar 16, 2021
  91. Ævar Arnfjörð BjarmasonMar 17, 2021
  92. 02/20 t/perf: add performance test for sparse operationsDerrick Stolee via GitGitGadget, Mar 16, 2021
  93. Ævar Arnfjörð BjarmasonMar 17, 2021
  94. Derrick StoleeMar 17, 2021
  95. Ævar Arnfjörð BjarmasonMar 17, 2021
  96. Derrick StoleeMar 17, 2021
  97. 08/20 test-tool: don't force full indexDerrick Stolee via GitGitGadget, Mar 16, 2021
  98. 06/20 t1092: compare sparse-checkout to sparse-indexDerrick Stolee via GitGitGadget, Mar 16, 2021
  99. 04/20 sparse-index: add guard to ensure full indexDerrick Stolee via GitGitGadget, Mar 16, 2021
  100. 09/20 unpack-trees: ensure full indexDerrick Stolee via GitGitGadget, Mar 16, 2021
  101. 07/20 test-read-cache: print cache entries with --tableDerrick Stolee via GitGitGadget, Mar 16, 2021
  102. 1/5 ls-files: defer read_index() after parse_options() etc.Ævar Arnfjörð Bjarmason, Mar 17, 2021
  103. 2/5 ls-files: make "mode" in show_ce() loop a variableÆvar Arnfjörð Bjarmason, Mar 17, 2021
  104. Elijah NewrenMar 17, 2021
  105. Ævar Arnfjörð BjarmasonMar 24, 2021
  106. 3/5 ls-files: add and use a new --sparse optionÆvar Arnfjörð Bjarmason, Mar 17, 2021
  107. Elijah NewrenMar 17, 2021
  108. Ævar Arnfjörð BjarmasonMar 17, 2021
  109. Elijah NewrenMar 17, 2021
  110. Derrick StoleeMar 17, 2021
  111. Ævar Arnfjörð BjarmasonMar 24, 2021
  112. 4/5 test-tool read-cache: --table is redundant to ls-filesÆvar Arnfjörð Bjarmason, Mar 17, 2021
  113. 0/5 Re: [PATCH v3 07/20] test-read-cache: print cache entries with --tableÆvar Arnfjörð Bjarmason, Mar 17, 2021
  114. Elijah NewrenMar 17, 2021
  115. Derrick StoleeMar 17, 2021
  116. Elijah NewrenMar 17, 2021
  117. Derrick StoleeMar 17, 2021
  118. 5/5 test-tool: split up test-tool read-cacheÆvar Arnfjörð Bjarmason, Mar 17, 2021
  119. Ævar Arnfjörð BjarmasonMar 17, 2021
  120. 05/20 sparse-index: implement ensure_full_index()Derrick Stolee via GitGitGadget, Mar 16, 2021
  121. Ævar Arnfjörð BjarmasonMar 17, 2021
  122. 13/20 unpack-trees: allow sparse directoriesDerrick Stolee via GitGitGadget, Mar 16, 2021
  123. Ævar Arnfjörð BjarmasonMar 17, 2021
  124. 12/20 submodule: sparse-index should not collapse linksDerrick Stolee via GitGitGadget, Mar 16, 2021
  125. 10/20 sparse-checkout: hold pattern list in indexDerrick Stolee via GitGitGadget, Mar 16, 2021
  126. 11/20 sparse-index: convert from full to sparseDerrick Stolee via GitGitGadget, Mar 16, 2021
  127. Ævar Arnfjörð BjarmasonMar 17, 2021
  128. Derrick StoleeMar 17, 2021
  129. Derrick StoleeMar 18, 2021
  130. 14/20 sparse-index: check index conversion happensDerrick Stolee via GitGitGadget, Mar 16, 2021
  131. 15/20 sparse-index: create extension for compatibilityDerrick Stolee via GitGitGadget, Mar 16, 2021
  132. 17/20 sparse-checkout: disable sparse-indexDerrick Stolee via GitGitGadget, Mar 16, 2021
  133. 16/20 sparse-checkout: toggle sparse index from builtinDerrick Stolee via GitGitGadget, Mar 16, 2021
  134. 18/20 cache-tree: integrate with sparse directory entriesDerrick Stolee via GitGitGadget, Mar 16, 2021
  135. 19/20 sparse-index: loose integration with cache_tree_verify()Derrick Stolee via GitGitGadget, Mar 16, 2021
  136. 20/20 p2000: add sparse-index reposDerrick Stolee via GitGitGadget, Mar 16, 2021
  137. Derrick StoleeMar 16, 2021
  138. Elijah NewrenMar 16, 2021
  139. Junio C HamanoMar 18, 2021
  140. Derrick StoleeMar 19, 2021
  141. 00/20 Sparse Index: Design, Format, TestsDerrick Stolee via GitGitGadget, Mar 23, 2021
  142. 01/20 sparse-index: design doc and format updateDerrick Stolee via GitGitGadget, Mar 23, 2021
  143. SZEDER GáborMar 26, 2021
  144. Junio C HamanoMar 28, 2021
  145. Derrick StoleeMar 29, 2021
  146. 05/20 sparse-index: implement ensure_full_index()Derrick Stolee via GitGitGadget, Mar 23, 2021
  147. 04/20 sparse-index: add guard to ensure full indexDerrick Stolee via GitGitGadget, Mar 23, 2021
  148. 03/20 t1092: clean up script quotingDerrick Stolee via GitGitGadget, Mar 23, 2021
  149. 02/20 t/perf: add performance test for sparse operationsDerrick Stolee via GitGitGadget, Mar 23, 2021
  150. 10/20 sparse-checkout: hold pattern list in indexDerrick Stolee via GitGitGadget, Mar 23, 2021
  151. 07/20 test-read-cache: print cache entries with --tableDerrick Stolee via GitGitGadget, Mar 23, 2021
  152. Ævar Arnfjörð BjarmasonMar 24, 2021
  153. Derrick StoleeMar 24, 2021
  154. Ævar Arnfjörð BjarmasonMar 25, 2021
  155. Elijah NewrenMar 26, 2021
  156. Ævar Arnfjörð BjarmasonMar 28, 2021
  157. Derrick StoleeMar 29, 2021
  158. Junio C HamanoMar 29, 2021
  159. Derrick StoleeMar 30, 2021
  160. Ævar Arnfjörð BjarmasonMar 29, 2021
  161. Derrick StoleeMar 30, 2021
  162. Elijah NewrenMar 29, 2021
  163. 08/20 test-tool: don't force full indexDerrick Stolee via GitGitGadget, Mar 23, 2021
  164. 09/20 unpack-trees: ensure full indexDerrick Stolee via GitGitGadget, Mar 23, 2021
  165. 12/20 submodule: sparse-index should not collapse linksDerrick Stolee via GitGitGadget, Mar 23, 2021
  166. 06/20 t1092: compare sparse-checkout to sparse-indexDerrick Stolee via GitGitGadget, Mar 23, 2021
  167. 13/20 unpack-trees: allow sparse directoriesDerrick Stolee via GitGitGadget, Mar 23, 2021
  168. 11/20 sparse-index: convert from full to sparseDerrick Stolee via GitGitGadget, Mar 23, 2021
  169. 18/20 cache-tree: integrate with sparse directory entriesDerrick Stolee via GitGitGadget, Mar 23, 2021
  170. 15/20 sparse-index: create extension for compatibilityDerrick Stolee via GitGitGadget, Mar 23, 2021
  171. 16/20 sparse-checkout: toggle sparse index from builtinDerrick Stolee via GitGitGadget, Mar 23, 2021
  172. 14/20 sparse-index: check index conversion happensDerrick Stolee via GitGitGadget, Mar 23, 2021
  173. 17/20 sparse-checkout: disable sparse-indexDerrick Stolee via GitGitGadget, Mar 23, 2021
  174. 19/20 sparse-index: loose integration with cache_tree_verify()Derrick Stolee via GitGitGadget, Mar 23, 2021
  175. 20/20 p2000: add sparse-index reposDerrick Stolee via GitGitGadget, Mar 23, 2021
  176. Elijah NewrenMar 23, 2021
  177. 00/21 Sparse Index: Design, Format, TestsDerrick Stolee via GitGitGadget, Mar 30, 2021
  178. 09/21 unpack-trees: ensure full indexDerrick Stolee via GitGitGadget, Mar 30, 2021
  179. 01/21 sparse-index: design doc and format updateDerrick Stolee via GitGitGadget, Mar 30, 2021
  180. 05/21 sparse-index: implement ensure_full_index()Derrick Stolee via GitGitGadget, Mar 30, 2021
  181. 08/21 test-tool: don't force full indexDerrick Stolee via GitGitGadget, Mar 30, 2021
  182. 06/21 t1092: compare sparse-checkout to sparse-indexDerrick Stolee via GitGitGadget, Mar 30, 2021
  183. 04/21 sparse-index: add guard to ensure full indexDerrick Stolee via GitGitGadget, Mar 30, 2021
  184. 10/21 sparse-checkout: hold pattern list in indexDerrick Stolee via GitGitGadget, Mar 30, 2021
  185. 02/21 t/perf: add performance test for sparse operationsDerrick Stolee via GitGitGadget, Mar 30, 2021
  186. 13/21 submodule: sparse-index should not collapse linksDerrick Stolee via GitGitGadget, Mar 30, 2021
  187. 15/21 sparse-index: check index conversion happensDerrick Stolee via GitGitGadget, Mar 30, 2021
  188. 16/21 sparse-index: add index.sparse config optionDerrick Stolee via GitGitGadget, Mar 30, 2021
  189. 17/21 sparse-checkout: toggle sparse index from builtinDerrick Stolee via GitGitGadget, Mar 30, 2021
  190. 03/21 t1092: clean up script quotingDerrick Stolee via GitGitGadget, Mar 30, 2021
  191. 07/21 test-read-cache: print cache entries with --tableDerrick Stolee via GitGitGadget, Mar 30, 2021
  192. 11/21 sparse-index: add 'sdir' index extensionDerrick Stolee via GitGitGadget, Mar 30, 2021
  193. 20/21 sparse-index: loose integration with cache_tree_verify()Derrick Stolee via GitGitGadget, Mar 30, 2021
  194. 14/21 unpack-trees: allow sparse directoriesDerrick Stolee via GitGitGadget, Mar 30, 2021
  195. 12/21 sparse-index: convert from full to sparseDerrick Stolee via GitGitGadget, Mar 30, 2021
  196. 21/21 p2000: add sparse-index reposDerrick Stolee via GitGitGadget, Mar 30, 2021
  197. 18/21 sparse-checkout: disable sparse-indexDerrick Stolee via GitGitGadget, Mar 30, 2021
  198. 19/21 cache-tree: integrate with sparse directory entriesDerrick Stolee via GitGitGadget, Mar 30, 2021
  199. Junio C HamanoMar 30, 2021
  200. Derrick StoleeMar 30, 2021
  201. Junio C HamanoMar 30, 2021
  202. Elijah NewrenApr 1, 2021
  203. Elijah NewrenApr 1, 2021

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.