D3849: rebase: refactor dryrun implementation
khanchi97 (Sushil khanchi)
phabricator at mercurial-scm.org
Wed Jun 27 10:26:02 EDT 2018
khanchi97 updated this revision to Diff 9324.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D3849?vs=9321&id=9324
REVISION DETAIL
https://phab.mercurial-scm.org/D3849
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
@@ -818,19 +818,23 @@
opts[r'dest'] = '_destautoorphanrebase(SRC)'
if dryrun:
+ leaveunfinished = True
+ inmemory = True
+ rbsrt = rebaseruntime(repo, ui, inmemory, opts)
try:
overrides = {('rebase', 'singletransaction'): True}
with ui.configoverride(overrides, 'rebase'):
- _origrebase(ui, repo, inmemory=True, leaveunfinished=True,
- **opts)
+ _origrebase(ui, repo, inmemory=True, rbsrt=rbsrt,
+ leaveunfinished=leaveunfinished, **opts)
except error.InMemoryMergeConflictsError:
ui.status(_('hit a merge conflict\n'))
return 1
else:
ui.status(_('there will be no conflict, you can rebase\n'))
return 0
finally:
- _origrebase(ui, repo, abort=True)
+ with repo.wlock(), repo.lock():
+ rbsrt._prepareabortorcontinue(isabort=True)
elif inmemory:
try:
# in-memory merge doesn't support conflicts, so if we hit any, abort
@@ -846,9 +850,11 @@
else:
return _origrebase(ui, repo, **opts)
-def _origrebase(ui, repo, inmemory=False, leaveunfinished=False, **opts):
+def _origrebase(ui, repo, inmemory=False, leaveunfinished=False, rbsrt=None,
+ **opts):
opts = pycompat.byteskwargs(opts)
- rbsrt = rebaseruntime(repo, ui, inmemory, opts)
+ if not rbsrt:
+ rbsrt = rebaseruntime(repo, ui, inmemory, opts)
with repo.wlock(), repo.lock():
# Validate input and define rebasing points
To: khanchi97, #hg-reviewers
Cc: yuja, mercurial-devel
More information about the Mercurial-devel
mailing list