From patchwork Mon Mar 19 14:15:48 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: D2879: rebase: on abort, don't strip commits that didn't need rebased (issue5822) From: phabricator X-Patchwork-Id: 29631 Message-Id: To: mercurial-devel@mercurial-scm.org Date: Mon, 19 Mar 2018 14:15:48 +0000 This revision was automatically updated to reflect the committed changes. Closed by commit rHG177f3b90335f: rebase: on abort, don't strip commits that didn't need rebased (issue5822) (authored by martinvonz, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D2879?vs=7076&id=7117 REVISION DETAIL https://phab.mercurial-scm.org/D2879 AFFECTED FILES hgext/rebase.py tests/test-rebase-partial.t CHANGE DETAILS To: martinvonz, #hg-reviewers, yuja Cc: mercurial-devel diff --git a/tests/test-rebase-partial.t b/tests/test-rebase-partial.t --- a/tests/test-rebase-partial.t +++ b/tests/test-rebase-partial.t @@ -87,13 +87,13 @@ unresolved conflicts (see hg resolve, then hg rebase --continue) [1] $ hg rebase --abort - saved backup bundle to $TESTTMP/abort/.hg/strip-backup/79f6d6ab7b14-cce2340e-backup.hg rebase aborted -BROKEN: C got stripped $ hg tglog - o 2: ef8c0fe0897b D + o 3: 79f6d6ab7b14 C | - | o 1: 594087dbaf71 B + | o 2: ef8c0fe0897b D + | | + o | 1: 594087dbaf71 B |/ o 0: 426bada5c675 A diff --git a/hgext/rebase.py b/hgext/rebase.py --- a/hgext/rebase.py +++ b/hgext/rebase.py @@ -1544,7 +1544,8 @@ # If the first commits in the rebased set get skipped during the rebase, # their values within the state mapping will be the dest rev id. The # rebased list must must not contain the dest rev (issue4896) - rebased = [s for r, s in state.items() if s >= 0 and s != destmap[r]] + rebased = [s for r, s in state.items() + if s >= 0 and s != r and s != destmap[r]] immutable = [d for d in rebased if not repo[d].mutable()] cleanup = True if immutable: