D3854: rebase: add lock to cover whole dryrun process
khanchi97 (Sushil khanchi)
phabricator at mercurial-scm.org
Fri Jun 29 14:08:54 EDT 2018
khanchi97 updated this revision to Diff 9354.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D3854?vs=9342&id=9354
REVISION DETAIL
https://phab.mercurial-scm.org/D3854
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,22 +818,20 @@
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, 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:
- with repo.wlock(), repo.lock():
+ rbsrt = rebaseruntime(repo, ui, inmemory=True, opts=opts)
+ with repo.wlock(), repo.lock():
+ try:
+ overrides = {('rebase', 'singletransaction'): True}
+ with ui.configoverride(overrides, 'rebase'):
+ _origrebase(ui, repo, inmemory=True, rbsrt=rbsrt,
+ leaveunfinished=True, **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:
rbsrt._prepareabortorcontinue(isabort=True)
elif inmemory:
try:
To: khanchi97, #hg-reviewers
Cc: yuja, mercurial-devel
More information about the Mercurial-devel
mailing list