On 01/19, Junio C Hamano wrote:
> Thomas Gummerer <[email protected]> writes:
>
> > read_cache_from() defaults to using the gitdir of the_repository. As it
> > is mostly a convenience macro, having to pass get_git_dir() for every
> > call seems overkill, and if necessary users can have more control by
> > using read_index_from().
>
> This was a bit painful change, given that some changes in flight do
> add new callsites to read_index_from() and they got the function
> changed under their feet.
Sorry about that. Is there any way to make such a change less painful
in the future?
> Please double check if I made the right git-dir to be passed to them
> when I push out 'pu' in a few hours.
I think one conversion was not quite correct, even though all tests
still pass with GIT_TEST_SPLIT_INDEX set.
The following diff fixes that conversation and has a test showing the
breakage:
diff --git a/builtin/worktree.c b/builtin/worktree.c
index 6a49f9e628..4d86a3574f 100644
--- a/builtin/worktree.c
+++ b/builtin/worktree.c
@@ -612,7 +612,8 @@ static void validate_no_submodules(const struct worktree
*wt)
struct index_state istate = {0};
int i, found_submodules = 0;
- if (read_index_from(&istate, worktree_git_path(wt, "index"),
get_git_dir()) > 0) {
+ if (read_index_from(&istate, worktree_git_path(wt, "index"),
+ get_worktree_git_dir(wt)) > 0) {
for (i = 0; i < istate.cache_nr; i++) {
struct cache_entry *ce = istate.cache[i];
diff --git a/t/t2028-worktree-move.sh b/t/t2028-worktree-move.sh
index b3105eaaed..8faf61bbf5 100755
--- a/t/t2028-worktree-move.sh
+++ b/t/t2028-worktree-move.sh
@@ -90,6 +90,16 @@ test_expect_success 'move main worktree' '
test_must_fail git worktree move . def
'
+test_expect_success 'move worktree with split index' '
+ git worktree add test &&
+ (
+ cd test &&
+ test_commit file &&
+ git update-index --split-index
+ ) &&
+ git worktree move test test-destination
+'
+
test_expect_success 'remove main worktree' '
test_must_fail git worktree remove .
'
With this applied what you have in pu looks good to me. Does the
above help, or should I send this in another for for you to apply?
> Thanks.