From: Josh Steadmon <steadmon@google.com>
To: Derrick Stolee via GitGitGadget <gitgitgadget@gmail.com>
Cc: git@vger.kernel.org, gitster@pobox.com, vdye@github.com,
shaoxuan.yuan02@gmail.com,
Derrick Stolee <derrickstolee@github.com>
Subject: Re: [PATCH 0/4] Sparse index integration with 'git show'
Date: Thu, 14 Apr 2022 11:37:46 -0700 [thread overview]
Message-ID: <Ylhp+q96KOt2+OGZ@google.com> (raw)
In-Reply-To: <pull.1207.git.1649349442.gitgitgadget@gmail.com>
Hi Stolee,
Thanks for the series! All my comments are from the perspective of
someone without much knowledge of the index, much less sparse-index, or
sparse-checkout. I am not sure whether the project should cater to
reviewers in my position, but I did have trouble understanding most of
this series. I didn't have any concerns with the implementation, but the
cover letter, commit messages, and tests were fairly confusing and I
think can be explained better with a few changes:
On 2022.04.07 16:37, Derrick Stolee via GitGitGadget wrote:
> This continues our sequence of integrating builtins with the sparse index.
>
> 'git show' is relatively simple to get working in a way that doesn't fail
> when it would previously succeed, but there are some sutbleties when the
> user passes a directory path. If that path happens to be a sparse directory
> entry, we suddenly start succeeding and printing the tree information!
>
> Since this behavior can change depending on the sparse checkout definition
> and the state of index entries within that directory, this new behavior
> would be more likely to confuse users than help them.
The two paragraphs above did not really convey to me on first
read-through what the problem was. IIUC the main points are:
* git-show does not currently work with the sparse index.
* A simple change fixes the above, but causes us to sometimes print
unexpected information about trees.
* We can use the simple change in our implementation, but must do
additional work to make sure we only print the expected information.
I think this could be clarified by:
* Including examples of the unhelpful output from the simple
implementation.
* Describing in more detail the situations that trigger this.
* Describing why those situations don't currently happen without support
for sparse indexes.
> Here is an outline of this series:
>
> * Patch 1: Add more tests around 'git show :' in t1092.
>
> * Patch 2: Make 'git show' stop expanding the index by default. Make note
> of this behavior change in the tests.
>
> * Patches 3-4: Make the subtle changes to object-name.c that help us reject
> sparse directories (patch 3) and print the correct error message (patch
> 4).
>
> Patches 2-4 could realistically be squashed into a single commit, but I
> thought it might be instructive to show these individual steps, especially
> as an example for our GSoC project.
>
> This series is based on the current 'master'. I know that Victoria intends
> to submit her 'git stash' integration soon, and this provides a way to test
> if our split of test changes in t1092 are easy to merge without conflict. If
> that is successful, then I will likely submit my integration with the
> 'sparse-checkout' builtin after this series is complete.
>
> Thanks, -Stolee
Thanks,
Josh
next prev parent reply other threads:[~2022-04-14 18:37 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-07 16:37 [PATCH 0/4] Sparse index integration with 'git show' Derrick Stolee via GitGitGadget
2022-04-07 16:37 ` [PATCH 1/4] t1092: add compatibility tests for " Derrick Stolee via GitGitGadget
2022-04-14 18:37 ` Josh Steadmon
2022-04-18 12:23 ` Derrick Stolee
2022-04-07 16:37 ` [PATCH 2/4] show: integrate with the sparse index Derrick Stolee via GitGitGadget
2022-04-14 18:50 ` Josh Steadmon
2022-04-18 12:28 ` Derrick Stolee
2022-04-07 16:37 ` [PATCH 3/4] object-name: reject trees found in the index Derrick Stolee via GitGitGadget
2022-04-14 18:57 ` Josh Steadmon
2022-04-18 12:31 ` Derrick Stolee
2022-04-07 16:37 ` [PATCH 4/4] object-name: diagnose trees in index properly Derrick Stolee via GitGitGadget
2022-04-07 20:46 ` Philip Oakley
2022-04-12 6:32 ` Junio C Hamano
2022-04-12 13:52 ` Derrick Stolee
2022-04-12 15:45 ` Junio C Hamano
2022-04-14 18:37 ` Josh Steadmon [this message]
2022-04-14 21:14 ` [PATCH 0/4] Sparse index integration with 'git show' Junio C Hamano
2022-04-18 12:42 ` Derrick Stolee
2022-04-26 20:43 ` [PATCH v2 0/5] " Derrick Stolee via GitGitGadget
2022-04-26 20:43 ` [PATCH v2 1/5] t1092: add compatibility tests for " Derrick Stolee via GitGitGadget
2022-04-26 20:43 ` [PATCH v2 2/5] show: integrate with the sparse index Derrick Stolee via GitGitGadget
2022-04-26 20:43 ` [PATCH v2 3/5] object-name: reject trees found in the index Derrick Stolee via GitGitGadget
2022-04-26 20:43 ` [PATCH v2 4/5] object-name: diagnose trees in index properly Derrick Stolee via GitGitGadget
2022-04-26 20:43 ` [PATCH v2 5/5] rev-parse: integrate with sparse index Derrick Stolee via GitGitGadget
2022-04-26 20:55 ` [PATCH v2 0/5] Sparse index integration with 'git show' Junio C Hamano
2022-04-27 13:47 ` Derrick Stolee
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Ylhp+q96KOt2+OGZ@google.com \
--to=steadmon@google.com \
--cc=derrickstolee@github.com \
--cc=git@vger.kernel.org \
--cc=gitgitgadget@gmail.com \
--cc=gitster@pobox.com \
--cc=shaoxuan.yuan02@gmail.com \
--cc=vdye@github.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.
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 NNTP newsgroup(s).