D11992: largefiles: take lock before writing requirements
marmoute (Pierre-Yves David)
phabricator at mercurial-scm.org
Wed Jan 12 14:11:35 UTC 2022
marmoute created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
REVISION SUMMARY
With `share-safe`, we will also write file in the store. We now take the `lock`
as needed.
REPOSITORY
rHG Mercurial
BRANCH
default
REVISION DETAIL
https://phab.mercurial-scm.org/D11992
AFFECTED FILES
hgext/largefiles/reposetup.py
CHANGE DETAILS
diff --git a/hgext/largefiles/reposetup.py b/hgext/largefiles/reposetup.py
--- a/hgext/largefiles/reposetup.py
+++ b/hgext/largefiles/reposetup.py
@@ -455,11 +455,12 @@
repo.prepushoutgoinghooks.add(b"largefiles", prepushoutgoinghook)
def checkrequireslfiles(ui, repo, **kwargs):
- if b'largefiles' not in repo.requirements and any(
- lfutil.shortname + b'/' in f[1] for f in repo.store.datafiles()
- ):
- repo.requirements.add(b'largefiles')
- scmutil.writereporequirements(repo)
+ with repo.lock():
+ if b'largefiles' not in repo.requirements and any(
+ lfutil.shortname + b'/' in f[1] for f in repo.store.datafiles()
+ ):
+ repo.requirements.add(b'largefiles')
+ scmutil.writereporequirements(repo)
ui.setconfig(
b'hooks', b'changegroup.lfiles', checkrequireslfiles, b'largefiles'
To: marmoute, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
More information about the Mercurial-devel
mailing list