D8115: rebase: show bug when rebasing merge with obsoleted revs on both sides

marmoute (Pierre-Yves David) phabricator at mercurial-scm.org
Fri Mar 20 00:16:09 UTC 2020


marmoute added a comment.


  In D8115#121345 <https://phab.mercurial-scm.org/D8115#121345>, @martinvonz wrote:
  
  > We already have tests for this (grepping for "unwanted changes" in `tests/` should be enough to find them).
  > It's not easy to omit revisions 8 and 10 from the rebase. The key is to realize that rebase is done by repeated grafting of diffs and that the diffs are always between two commits. We can therefore rebase revisions 9 and 11 without a problem (we take the diff from revisions 8 and 10, respectively). But when rebasing the merge commit, which diff do we graft? If we use 9 as base (i.e. we try to graft the diff between 9 and 12), we'll get unwanted changes from commit 10. Conversely, if we use 11 as base, we'll get unwanted changes from commit 8.
  > I have been thinking a bit about how to solve it by doing the rebase in smaller steps, but it's pretty complicated and maybe I should write it down in a plan page instead.
  
  looks like a legitimate need for 5 ways merge.
  
  @durin42 can we get this revision out of yadda? It is not ready to land and we won't have a solution soonâ„¢

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D8115/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D8115

To: durin42, #hg-reviewers
Cc: marmoute, martinvonz, mercurial-devel


More information about the Mercurial-devel mailing list