D7826: rebase: stop relying on having two parents to resume rebase

2020-02-10 Thread martinvonz (Martin von Zweigbergk)
Closed by commit rHGb42ce825308e: rebase: stop relying on having two parents to 
resume rebase (authored by martinvonz).
This revision was automatically updated to reflect the committed changes.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D7826?vs=20096=20136

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

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

AFFECTED FILES
  hgext/rebase.py

CHANGE DETAILS

diff --git a/hgext/rebase.py b/hgext/rebase.py
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -178,6 +178,7 @@
 # --continue or --abort)), the original repo should be used so
 # visibility-dependent revsets are correct.
 self.prepared = False
+self.resume = False
 self._repo = repo
 
 self.ui = ui
@@ -367,6 +368,7 @@
 _checkobsrebase(self.repo, self.ui, obsoleteset, skippedset)
 
 def _prepareabortorcontinue(self, isabort, backup=True, suppwarns=False):
+self.resume = True
 try:
 self.restorestatus()
 self.collapsemsg = restorecollapsemsg(self.repo, isabort)
@@ -606,8 +608,9 @@
 self.skipped,
 self.obsoletenotrebased,
 )
-if not self.inmemory and len(repo[None].parents()) == 2:
+if self.resume and self.wctx.p1().rev() == p1:
 repo.ui.debug(b'resuming interrupted rebase\n')
+self.resume = False
 else:
 overrides = {(b'ui', b'forcemerge'): opts.get(b'tool', b'')}
 with ui.configoverride(overrides, b'rebase'):



To: martinvonz, #hg-reviewers, durin42
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D7826: rebase: stop relying on having two parents to resume rebase

2020-02-10 Thread martinvonz (Martin von Zweigbergk)
martinvonz updated this revision to Diff 20096.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D7826?vs=19860=20096

BRANCH
  default

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

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

AFFECTED FILES
  hgext/rebase.py

CHANGE DETAILS

diff --git a/hgext/rebase.py b/hgext/rebase.py
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -178,6 +178,7 @@
 # --continue or --abort)), the original repo should be used so
 # visibility-dependent revsets are correct.
 self.prepared = False
+self.resume = False
 self._repo = repo
 
 self.ui = ui
@@ -367,6 +368,7 @@
 _checkobsrebase(self.repo, self.ui, obsoleteset, skippedset)
 
 def _prepareabortorcontinue(self, isabort, backup=True, suppwarns=False):
+self.resume = True
 try:
 self.restorestatus()
 self.collapsemsg = restorecollapsemsg(self.repo, isabort)
@@ -606,8 +608,9 @@
 self.skipped,
 self.obsoletenotrebased,
 )
-if not self.inmemory and len(repo[None].parents()) == 2:
+if self.resume and self.wctx.p1().rev() == p1:
 repo.ui.debug(b'resuming interrupted rebase\n')
+self.resume = False
 else:
 overrides = {(b'ui', b'forcemerge'): opts.get(b'tool', b'')}
 with ui.configoverride(overrides, b'rebase'):



To: martinvonz, #hg-reviewers
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D7826: rebase: stop relying on having two parents to resume rebase

2020-02-03 Thread martinvonz (Martin von Zweigbergk)
martinvonz updated this revision to Diff 19860.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D7826?vs=19704=19860

BRANCH
  default

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

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

AFFECTED FILES
  hgext/rebase.py

CHANGE DETAILS

diff --git a/hgext/rebase.py b/hgext/rebase.py
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -178,6 +178,7 @@
 # --continue or --abort)), the original repo should be used so
 # visibility-dependent revsets are correct.
 self.prepared = False
+self.resume = False
 self._repo = repo
 
 self.ui = ui
@@ -367,6 +368,7 @@
 _checkobsrebase(self.repo, self.ui, obsoleteset, skippedset)
 
 def _prepareabortorcontinue(self, isabort, backup=True, suppwarns=False):
+self.resume = True
 try:
 self.restorestatus()
 self.collapsemsg = restorecollapsemsg(self.repo, isabort)
@@ -606,8 +608,9 @@
 self.skipped,
 self.obsoletenotrebased,
 )
-if not self.inmemory and len(repo[None].parents()) == 2:
+if self.resume and self.wctx.p1().rev() == p1:
 repo.ui.debug(b'resuming interrupted rebase\n')
+self.resume = False
 else:
 overrides = {(b'ui', b'forcemerge'): opts.get(b'tool', b'')}
 with ui.configoverride(overrides, b'rebase'):



To: martinvonz, #hg-reviewers
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D7826: rebase: stop relying on having two parents to resume rebase

2020-01-29 Thread martinvonz (Martin von Zweigbergk)
martinvonz updated this revision to Diff 19704.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D7826?vs=19344=19704

BRANCH
  default

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

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

AFFECTED FILES
  hgext/rebase.py

CHANGE DETAILS

diff --git a/hgext/rebase.py b/hgext/rebase.py
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -177,6 +177,7 @@
 # --continue or --abort)), the original repo should be used so
 # visibility-dependent revsets are correct.
 self.prepared = False
+self.resume = False
 self._repo = repo
 
 self.ui = ui
@@ -366,6 +367,7 @@
 _checkobsrebase(self.repo, self.ui, obsoleteset, skippedset)
 
 def _prepareabortorcontinue(self, isabort, backup=True, suppwarns=False):
+self.resume = True
 try:
 self.restorestatus()
 self.collapsemsg = restorecollapsemsg(self.repo, isabort)
@@ -605,8 +607,9 @@
 self.skipped,
 self.obsoletenotrebased,
 )
-if not self.inmemory and len(repo[None].parents()) == 2:
+if self.resume and self.wctx.p1().rev() == p1:
 repo.ui.debug(b'resuming interrupted rebase\n')
+self.resume = False
 else:
 overrides = {(b'ui', b'forcemerge'): opts.get(b'tool', b'')}
 with ui.configoverride(overrides, b'rebase'):



To: martinvonz, #hg-reviewers
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D7826: rebase: stop relying on having two parents to resume rebase

2020-01-16 Thread martinvonz (Martin von Zweigbergk)
martinvonz updated this revision to Diff 19344.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D7826?vs=19146=19344

BRANCH
  default

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

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

AFFECTED FILES
  hgext/rebase.py

CHANGE DETAILS

diff --git a/hgext/rebase.py b/hgext/rebase.py
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -177,6 +177,7 @@
 # --continue or --abort)), the original repo should be used so
 # visibility-dependent revsets are correct.
 self.prepared = False
+self.resume = False
 self._repo = repo
 
 self.ui = ui
@@ -366,6 +367,7 @@
 _checkobsrebase(self.repo, self.ui, obsoleteset, skippedset)
 
 def _prepareabortorcontinue(self, isabort, backup=True, suppwarns=False):
+self.resume = True
 try:
 self.restorestatus()
 self.collapsemsg = restorecollapsemsg(self.repo, isabort)
@@ -605,8 +607,9 @@
 self.skipped,
 self.obsoletenotrebased,
 )
-if not self.inmemory and len(repo[None].parents()) == 2:
+if self.resume and self.wctx.p1().rev() == p1:
 repo.ui.debug(b'resuming interrupted rebase\n')
+self.resume = False
 else:
 overrides = {(b'ui', b'forcemerge'): opts.get(b'tool', b'')}
 with ui.configoverride(overrides, b'rebase'):



To: martinvonz, #hg-reviewers
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D7826: rebase: stop relying on having two parents to resume rebase

2020-01-10 Thread martinvonz (Martin von Zweigbergk)
martinvonz created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  I'm about to make it so we don't have two parents when a rebase is
  interrupted (unless we're just rebasing on a merge commit). The code
  for detecting if we're resuming a rebase relied on having two parents,
  so this patch rewrites that to instead set a boolean when we resume.
  
  Note that `self.resume` in the new condition implies `not
  self.inmemory` (rebase cannot be resumed in memory), so that's why
  that part can be omitted.

REPOSITORY
  rHG Mercurial

BRANCH
  default

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

AFFECTED FILES
  hgext/rebase.py

CHANGE DETAILS

diff --git a/hgext/rebase.py b/hgext/rebase.py
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -177,6 +177,7 @@
 # --continue or --abort)), the original repo should be used so
 # visibility-dependent revsets are correct.
 self.prepared = False
+self.resume = False
 self._repo = repo
 
 self.ui = ui
@@ -366,6 +367,7 @@
 _checkobsrebase(self.repo, self.ui, obsoleteset, skippedset)
 
 def _prepareabortorcontinue(self, isabort, backup=True, suppwarns=False):
+self.resume = True
 try:
 self.restorestatus()
 self.collapsemsg = restorecollapsemsg(self.repo, isabort)
@@ -605,8 +607,9 @@
 self.skipped,
 self.obsoletenotrebased,
 )
-if not self.inmemory and len(repo[None].parents()) == 2:
+if self.resume and self.wctx.p1().rev() == p1:
 repo.ui.debug(b'resuming interrupted rebase\n')
+self.resume = False
 else:
 overrides = {(b'ui', b'forcemerge'): opts.get(b'tool', b'')}
 with ui.configoverride(overrides, b'rebase'):



To: martinvonz, #hg-reviewers
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel