# HG changeset patch # User Pierre-Yves David # Date 1641569411 -3600 # Node ID 497c2655c71ea21eff0f6a6b8430c90a1e5a8dbc # Parent bf424fe4f814c411d614530b7a7213d0c0a63d4e largefiles: take lock before writing requirements With `share-safe`, we will also write file in the store. We now take the `lock` as needed. Differential Revision: https://phab.mercurial-scm.org/D11992 diff -r bf424fe4f814 -r 497c2655c71e hgext/largefiles/reposetup.py --- a/hgext/largefiles/reposetup.py Fri Jan 07 17:33:27 2022 +0100 +++ b/hgext/largefiles/reposetup.py Fri Jan 07 16:30:11 2022 +0100 @@ -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'