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

Re: What's cooking in git.git (Apr 2018, #01; Mon, 9)

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Apr 9, 2018, 20:14 UTC
Message-ID
<nycvar.QRO.7.76.6.1804092110300.55@ZVAVAG-6OXH6DA.rhebcr.pbec.zvpebfbsg.pbz>
In-Reply-To
<xmqqd0z865pk.fsf@gitster-ct.c.googlers.com>
Hi Junio,
On Mon, 9 Apr 2018, Junio C Hamano wrote:
Show 20 quoted lines
> * js/rebase-recreate-merge (2018-02-23) 12 commits
>   (merged to 'next' on 2018-03-15 at 3d1671756f)
>  + rebase -i: introduce --recreate-merges=[no-]rebase-cousins
>  + pull: accept --rebase=recreate to recreate the branch topology
>  + sequencer: handle post-rewrite for merge commands
>  + sequencer: make refs generated by the `label` command worktree-local
>  + rebase: introduce the --recreate-merges option
>  + rebase-helper --make-script: introduce a flag to recreate merges
>  + sequencer: fast-forward merge commits, if possible
>  + sequencer: introduce the `merge` command
>  + sequencer: introduce new commands to reset the revision
>  + git-rebase--interactive: clarify arguments
>  + sequencer: make rearrange_squash() a bit more obvious
>  + sequencer: avoid using errno clobbered by rollback_lock_file()
> 
>  "git rebase" learned "--recreate-merges" to transplant the whole
>  topology of commit graph elsewhere.
> 
>  This serise has been reverted out of 'next', expecting that it will
>  be replaced by a reroll on top of a couple of topics by Phillip.

Sorry, it took a little longer. I did decide in the end that --rebase-merges is a better name for the option.

And I worked on the add-on patch series, too, mainly to prove that we can switch to a better strategy than blindly re-create recursive merges from scratch. That part is not really done to my satisfaction, though: while I already demonstrated that Sergey's approach causes way too many merge conflicts to be useful in practice, I now have a reproducer to show that even Phillip's strategy *can* cause awful (and avoidable) merge conflicts.

For anybody who is interested in the specifics, I'd like to point you to the `sequencer-shears` branch thicket in https://github.com/dscho/git (it is a moving target, but you should find the commit called "t3430: add some realistic tests for --rebase-merges" that demonstrates the issues.

Be that as it may, I will send out a new iteration of the patch series (the --rebase-merges one, formerly known as --recreate-merges) soon (hopefully still today).

Ciao, Dscho

Previous: Stefan BellerNext: Johannes Schindelin
Message 14 of 23 in “What's cooking in git.git (Apr 2018, #01; Mon, 9)”
  1. Junio C HamanoApr 9, 2018
  2. Derrick StoleeApr 9, 2018
  3. Ramsay JonesApr 9, 2018
  4. Junio C HamanoApr 9, 2018
  5. Derrick StoleeApr 10, 2018
  6. Stefan BellerApr 10, 2018
  7. Ramsay JonesApr 10, 2018
  8. Derrick StoleeApr 10, 2018
  9. Ramsay JonesApr 10, 2018
  10. Ramsay JonesApr 10, 2018
  11. Junio C HamanoApr 10, 2018
  12. Duy NguyenApr 9, 2018
  13. Stefan BellerApr 9, 2018
  14. Johannes SchindelinApr 9, 2018
  15. Johannes SchindelinApr 9, 2018
  16. Johannes SchindelinApr 10, 2018
  17. git-gui branches, was Re: What's cooking in git.git (Apr 2018, #01; Mon, 9)Johannes Schindelin, Apr 10, 2018
  18. Junio C HamanoApr 10, 2018
  19. Stefan BellerApr 10, 2018
  20. Johannes SchindelinApr 10, 2018
  21. Phillip WoodApr 11, 2018
  22. Jakub NarebskiApr 11, 2018
  23. Ævar Arnfjörð BjarmasonApr 11, 2018

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.