Re: non-regression bug in 'git merge' (really, xdiff/xmerge, I think)
- From
Elijah Newren <newren@gmail.com>
- Date
- Mar 6, 2020, 15:48 UTC
- Message-ID
- <CABPp-BGtez4qjbtFT1hQoREfcJPmk9MzjhY5eEq1QhXT23tFOw@mail.gmail.com>
- In-Reply-To
- <xmqqy2si9z4x.fsf_-_@gitster-ct.c.googlers.com>
On Mon, Mar 2, 2020 at 2:21 PM Junio C Hamano <gitster@pobox.com> wrote:
Show 63 quoted lines
> > Thomas Gummerer <t.gummerer@gmail.com> writes: > > > diff --git a/Makefile b/Makefile > > index 9804a0758b..096c6d1fbb 100644 > > --- a/Makefile > > +++ b/Makefile > > @@ -609,7 +609,6 @@ SCRIPT_SH += git-merge-one-file.sh > > SCRIPT_SH += git-merge-resolve.sh > > SCRIPT_SH += git-mergetool.sh > > SCRIPT_SH += git-quiltimport.sh > > -SCRIPT_SH += git-legacy-stash.sh > > SCRIPT_SH += git-request-pull.sh > > SCRIPT_SH += git-submodule.sh > > SCRIPT_SH += git-web--browse.sh > > Merging this topic to 'pu', which has dl/merge-autostash topic > already merged, breaks the build and it is not fault of Thomas's > topic. dl/merge-autostash has the following bit: > > commit 4b981afaa03c00524f1d4986271a3f4cc119f4cd > Merge: 06928448f7 de4db86ff2 > Author: Junio C Hamano <gitster@pobox.com> > Date: Mon Mar 2 13:23:26 2020 -0800 > > Merge branch 'dl/merge-autostash' into pu > > "git merge" learns the "--autostash" option. > > * dl/merge-autostash: > ... > Makefile: alphabetically sort += lists > > diff --git a/Makefile b/Makefile > index a5961113d8..c0793ac75b 100644 > --- a/Makefile > +++ b/Makefile > @@ -604,12 +604,12 @@ unexport CDPATH > SCRIPT_SH += git-bisect.sh > SCRIPT_SH += git-difftool--helper.sh > SCRIPT_SH += git-filter-branch.sh > +SCRIPT_SH += git-legacy-stash.sh > SCRIPT_SH += git-merge-octopus.sh > SCRIPT_SH += git-merge-one-file.sh > SCRIPT_SH += git-merge-resolve.sh > SCRIPT_SH += git-mergetool.sh > SCRIPT_SH += git-quiltimport.sh > -SCRIPT_SH += git-legacy-stash.sh > SCRIPT_SH += git-request-pull.sh > SCRIPT_SH += git-submodule.sh > SCRIPT_SH += git-web--browse.sh > @@ -617,8 +617,8 @@ SCRIPT_SH += git-web--browse.sh > > which makes it appear to the xmerge code that legacy-status that > used to exist in between quiltimport and request-pull has already > been removed. > > As Thomas's above patch exactly wants to do that (i.e. we want to > remove legacy-stash between quiltimport and request-pull), the > xmerge code seems to think incorrectly that the requested change has > already been applied. And as a result of that, there remains > legacy-stash between fliter-branch and merge-octopus, breaking the > build by having one unbuildable build target X-<.
Thanks for the heads up; I agree that it looks like an xdiff thing, and in particular it reminds me of https://lore.kernel.org/git/20190816184051.GB13894@sigill.intra.peff.net/ and https://lore.kernel.org/git/CABPp-BHvJHpSJT7sdFwfNcPn_sOXwJi3=o14qjZS3M8Rzcxe2A@mail.gmail.com/
I'm collecting these cases because I'd like to look into it at some point, though for now I'm more focused on merge-ort (my merge-recursive replacement).