Message ID | 20181207235425.128568-1-sbeller@google.com (mailing list archive) |
---|---|
Headers | show |
Series | [1/4] submodule update: add regression test with old style setups | expand |
Stefan Beller <sbeller@google.com> writes: > 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. The above was a bit too cryptic for me to grok, so let me try rephrasing to see if I got them all correctly. - three-patch series leading to 984cd77ddb were meant to fix some bug, but the series itself was buggy and caused problems; we got rid of them - the problem 984cd77ddb wanted to fix was fixed differently without reintroducing the problem three-patch series introduced. That fix is already with us since 4d6d6ef1fc. - now these three changes that were problematic in the past is resent without any update (other than that it has one preparatory patch to add tests). Is that what is going on? Obviously I am not getting "the other" benefit we wanted to gain out of these three patches (because the above description fails to explain what that is), other than to fix the issue that was fixed by 4d6d6ef1fc. Sorry for being puzzled... > [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(-)
On Fri, Dec 7, 2018 at 9:57 PM Junio C Hamano <gitster@pobox.com> wrote: > > Stefan Beller <sbeller@google.com> writes: > > > 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. > > The above was a bit too cryptic for me to grok, so let me try > rephrasing to see if I got them all correctly. > > - three-patch series leading to 984cd77ddb were meant to fix some > bug, but the series itself was buggy and caused problems; we got > rid of them yes. > - the problem 984cd77ddb wanted to fix was fixed differently e98317508c02* > without reintroducing the problem three-patch series introduced. > That fix is already with us since 4d6d6ef1fc. yes. > - now these three changes that were problematic in the past is > resent without any update (other than that it has one preparatory > patch to add tests). One of the three changes was problematic, (e98317508c02), the other two are good (in company of the third). But those two were not good on their own, which is why we reverted all three at once. Now that we have a different approach for the third, we could re-introduce the two. (4fa4f90ccd8, 984cd77ddbf0) We do that, but with precaution (an extra test); additional careful reading found a typo, hence we have "a third" patch, but that is totally different than what above was referred to "one of three". > Is that what is going on? Obviously I am not getting "the other" > benefit we wanted to gain out of these three patches (because the > above description fails to explain what that is), other than to fix > the issue that was fixed by 4d6d6ef1fc. The other benefit refers to 7e25437d35 (Merge branch 'sb/submodule-core-worktree', 2018-07-18) which was reverted as a whole. It's goal was to handle core.worktree appropriately. (Instead of having it there all the time, only have it when a working tree is present) > Sorry for being puzzled... This means I need to revamp the commit messages and cover letter altogether. Stefan
Stefan Beller <sbeller@google.com> writes: >> - now these three changes that were problematic in the past is >> resent without any update (other than that it has one preparatory >> patch to add tests). > > One of the three changes was problematic, (e98317508c02), > the other two are good (in company of the third). Ah, that is what I failed to read. > This means I need to revamp the commit messages and > cover letter altogether. I guess that would help future readers. Thanks.