Skip to content

submodules: unset core.worktree when no working tree present

Stefan Beller git 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest0 of 4 patches 0 repliesNew

v2 from the cover letter

I reworded the commit messages to explain the patches from the ground up instead of only linking to the old commits, that got reverted.

Patches in v1 No applies recorded yet

None of the 4 patches the cover letter announces are in this archive.

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/4] submodules: unset core.worktree when no working tree present

v2:
I reworded the commit messages to explain the patches from the ground up instead of only linking to the old commits, that got reverted.

Quoted 3 lines

Just pretend that the ealier commits and their reversion never happened, and further pretend that we are doing the best thing that should happen to our codebase.

I disagree with that first stance (I can freely admit those commits happened), but agree on the second point, so I explained why the code is the best for the code base now. So I kept those pointers in there, too, to make it easier for future code archeologists.

v1:

A couple days before the 2.19 release we had a bug report about broken submodules[1] and reverted[2] the commits leading up to them.

The behavior of said bug fixed itself by taking a different approach[3], specifically by a weaker enforcement of having core.worktree set in a submodule [4].

The revert [2] was overly broad as we neared the release, such that we wanted to rather keep the known buggy behavior of always having core.worktree set, rather than figuring out how to fix the new bug of having 'git submodule update' not working in old style repository setups.

This series re-introduces those reverted patches, with no changes in code, but with drastically changed commit messages, as those focus on why it is safe to re-introduce them instead of explaining the desire for the change.

[1] https://public-inbox.org/git/2659750.rG6xLiZASK@twilight
[2] f178c13fda (Revert "Merge branch 'sb/submodule-core-worktree'", 2018-09-07)
[3] 4d6d6ef1fc (Merge branch 'sb/submodule-update-in-c', 2018-09-17)
[4] 74d4731da1 (submodule--helper: replace connect-gitdir-workingtree by ensure-core-worktree, 2018-08-13) Stefan Beller (4):
submodule update: add regression test with old style setups
submodule: unset core.worktree if no working tree is present
submodule--helper: fix BUG message in ensure_core_worktree
submodule deinit: unset core.worktree

 builtin/submodule--helper.c        |  4 +++-
 submodule.c                        | 14 ++++++++++++++
 submodule.h                        |  2 ++
 t/lib-submodule-update.sh          |  5 +++--
 t/t7400-submodule-basic.sh         |  5 +++++
 t/t7412-submodule-absorbgitdirs.sh |  7 ++++++-
 6 files changed, 33 insertions(+), 4 deletions(-)
Signature · 1 line
2.20.0.405.gbc1bbc6f85-goog