Thread (121 messages) flat view 121 messages, 8 authors, 2022-02-16

Re: [PATCH 0/4] Sparse checkout: fix bug with worktree of bare repo

From: Eric Sunshine <hidden>
Date: 2021-12-21 06:10:52

On Mon, Dec 20, 2021 at 12:34 PM Derrick Stolee [off-list ref] wrote:
On 12/20/2021 11:21 AM, Eric Sunshine wrote:
quoted
Thanks for jumping on this so quickly. Unfortunately, however, as
mentioned in [1] and [2], I think the approach implemented here of
setting `core.bare=false` in the worktree-specific config is
fundamentally flawed since it only addresses the problem for worktrees
in which `git sparse-checkout init` has been run, but leaves all other
worktrees potentially broken (both existing and new worktrees). As far
as I can see, the _only_ correct solution is for the new helper
function to enable `extensions.worktreeConfig` _and_ relocate
`core.bare` and `core.worktree` from .git/config to
.git/worktree.config, thus implementing the requirements documented in
git-worktree.txt.
Thanks for clarifying what I had misread. I commented on Patch 3 at the
place that should be changed to relocate the setting. The test in patch 4
could have multiple worktrees to verify that it works.
I sent several pages worth of response to patch [3/4] because
(apparently) I don't know how to be laconic.
I'll plan on providing a v2 with that change tomorrow, leaving time to
find any other glaring errors.
Let's make sure we agree on the proper approach and solution before
firing off v2.
quoted
I also raised a separate question in [2] about whether `git
sparse-checkout init` or the new helper function should be warning the
user that upgrading the repository format and setting
`extensions.worktreeConfig` might break third-party tools. However,
that question is tangential to the fix being addressed here and
doesn't need to be addressed by this series.
Let's continue to simmer on this one. If there is a clear direction for
doing this (should it just be an advice message?) then we can do that
whenever.
Indeed, no hurry on this one. It's entirely tangential to the present
patch series, and requires discussion and thought; it can be tackled
later (if at all).
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help