mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 15:27:13 +03:00
largefiles: put whole "hgmerge" process into the same "wlock" scope
Before this patch, there are two distinct "wlock" scopes below in "hgmerge": 1. "merge.update" via original "hg.merge" function 2. "updatelfiles" specific "wlock" scope (to synchronize largefile dirstate) But these should be executed in the same "wlock" scope for consistency, because users of "hg.merge" don't get "wlock" explicitly before invocation of it. - merge in commands This patch puts almost all of the original "hgmerge" implementation into "_hgmerge" to reduce changes.
This commit is contained in:
parent
79d6e6e6cb
commit
a3e5d804ef
@ -717,6 +717,13 @@ def _hgupdaterepo(orig, repo, node, overwrite):
|
||||
return result
|
||||
|
||||
def hgmerge(orig, repo, node, force=None, remind=True):
|
||||
wlock = repo.wlock()
|
||||
try:
|
||||
return _hgmerge(orig, repo, node, force, remind)
|
||||
finally:
|
||||
wlock.release()
|
||||
|
||||
def _hgmerge(orig, repo, node, force, remind):
|
||||
result = orig(repo, node, force, remind)
|
||||
lfcommands.updatelfiles(repo.ui, repo)
|
||||
return result
|
||||
|
Loading…
Reference in New Issue
Block a user