Details
Details
- Reviewers
durin42 - Group Reviewers
hg-reviewers - Commits
- rHG9365b8cb90e0: histedit: use context manager for locks
Diff Detail
Diff Detail
- Repository
- rHG Mercurial
- Lint
Lint Skipped - Unit
Unit Tests Skipped
( )
durin42 |
hg-reviewers |
Lint Skipped |
Unit Tests Skipped |
Path | Packages | |||
---|---|---|---|---|
M | hgext/histedit.py (10 lines) |
Commit | Parents | Author | Summary | Date |
---|---|---|---|---|
Martin von Zweigbergk | Jan 9 2019, 6:34 PM |
Status | Author | Revision | |
---|---|---|---|
Closed | martinvonz | ||
Closed | martinvonz |
context, | context, | ||||
copies, | copies, | ||||
destutil, | destutil, | ||||
discovery, | discovery, | ||||
error, | error, | ||||
exchange, | exchange, | ||||
extensions, | extensions, | ||||
hg, | hg, | ||||
lock, | |||||
logcmdutil, | logcmdutil, | ||||
merge as mergemod, | merge as mergemod, | ||||
mergeutil, | mergeutil, | ||||
node, | node, | ||||
obsolete, | obsolete, | ||||
pycompat, | pycompat, | ||||
registrar, | registrar, | ||||
repair, | repair, | ||||
scmutil, | scmutil, | ||||
state as statemod, | state as statemod, | ||||
util, | util, | ||||
) | ) | ||||
from mercurial.utils import ( | from mercurial.utils import ( | ||||
stringutil, | stringutil, | ||||
) | ) | ||||
pickle = util.pickle | pickle = util.pickle | ||||
release = lock.release | |||||
cmdtable = {} | cmdtable = {} | ||||
command = registrar.command(cmdtable) | command = registrar.command(cmdtable) | ||||
configtable = {} | configtable = {} | ||||
configitem = registrar.configitem(configtable) | configitem = registrar.configitem(configtable) | ||||
configitem('experimental', 'histedit.autoverb', | configitem('experimental', 'histedit.autoverb', | ||||
default=False, | default=False, | ||||
) | ) | ||||
conflicts). | conflicts). | ||||
""" | """ | ||||
if ui.interface('histedit') == 'curses': | if ui.interface('histedit') == 'curses': | ||||
return _chistedit(ui, repo, *freeargs, **opts) | return _chistedit(ui, repo, *freeargs, **opts) | ||||
return _texthistedit(ui, repo, *freeargs, **opts) | return _texthistedit(ui, repo, *freeargs, **opts) | ||||
def _texthistedit(ui, repo, *freeargs, **opts): | def _texthistedit(ui, repo, *freeargs, **opts): | ||||
state = histeditstate(repo) | state = histeditstate(repo) | ||||
try: | with repo.wlock() as wlock, repo.lock() as lock: | ||||
state.wlock = repo.wlock() | state.wlock = wlock | ||||
state.lock = repo.lock() | state.lock = lock | ||||
_histedit(ui, repo, state, *freeargs, **opts) | _histedit(ui, repo, state, *freeargs, **opts) | ||||
finally: | |||||
release(state.lock, state.wlock) | |||||
goalcontinue = 'continue' | goalcontinue = 'continue' | ||||
goalabort = 'abort' | goalabort = 'abort' | ||||
goaleditplan = 'edit-plan' | goaleditplan = 'edit-plan' | ||||
goalnew = 'new' | goalnew = 'new' | ||||
def _getgoal(opts): | def _getgoal(opts): | ||||
if opts.get('continue'): | if opts.get('continue'): |