git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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).

Previous: Junio C HamanoNext: Johannes Schindelin
Message 7 of 21 in “Git Rebase: test failing with GIT_TEST_STASH_USE_BUILTIN=false”
  1. Son Luong NgocFeb 24, 2020
  2. Junio C HamanoFeb 25, 2020
  3. 1/2 stash: get git_stash_config at the top levelThomas Gummerer, Mar 2, 2020
  4. 2/2 stash: remove the stash.useBuiltin settingThomas Gummerer, Mar 2, 2020
  5. Junio C HamanoMar 2, 2020
  6. non-regression bug in 'git merge' (really, xdiff/xmerge, I think)Junio C Hamano, Mar 2, 2020
  7. Elijah NewrenMar 6, 2020
  8. Johannes SchindelinMar 3, 2020
  9. Junio C HamanoMar 3, 2020
  10. Thomas GummererMar 3, 2020
  11. Johannes SchindelinMar 4, 2020
  12. 1/2 stash: get git_stash_config at the top levelThomas Gummerer, Mar 3, 2020
  13. 2/2 stash: remove the stash.useBuiltin settingThomas Gummerer, Mar 3, 2020
  14. Junio C HamanoMar 3, 2020
  15. Thomas GummererMar 4, 2020
  16. Junio C HamanoMar 4, 2020
  17. Thomas GummererMar 5, 2020
  18. Son Luong NgocMar 1, 2020
  19. Son Luong NgocMar 1, 2020
  20. Johannes SchindelinMar 6, 2020
  21. Thomas GummererMar 6, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.