mirror of
https://github.com/facebook/sapling.git
synced 2024-10-06 23:07:18 +03:00
gpg: make sign acquire wlock before processing
Before this patch, "hg sign" of gpg extension executes/evaluates below without acquisition of wlock. - repo.dirstate.parents() - '.hgsigs' not in repo.dirstate It may cause unintentional result, if another command runs parallelly (see also issue4368). To avoid this issue, this patch makes "hg sign" of gpg extension acquire wlock before processing.
This commit is contained in:
parent
f8fa1a1ece
commit
f05ee67a9f
@ -9,6 +9,7 @@ import os, tempfile, binascii
|
||||
from mercurial import util, commands, match, cmdutil, error
|
||||
from mercurial import node as hgnode
|
||||
from mercurial.i18n import _
|
||||
from mercurial import lock as lockmod
|
||||
|
||||
cmdtable = {}
|
||||
command = cmdutil.command(cmdtable)
|
||||
@ -222,7 +223,14 @@ def sign(ui, repo, *revs, **opts):
|
||||
|
||||
See :hg:`help dates` for a list of formats valid for -d/--date.
|
||||
"""
|
||||
wlock = None
|
||||
try:
|
||||
wlock = repo.wlock()
|
||||
return _dosign(ui, repo, *revs, **opts)
|
||||
finally:
|
||||
lockmod.release(wlock)
|
||||
|
||||
def _dosign(ui, repo, *revs, **opts):
|
||||
mygpg = newgpg(ui, **opts)
|
||||
sigver = "0"
|
||||
sigmessage = ""
|
||||
|
Loading…
Reference in New Issue
Block a user