narrow: write the narrow spec in a transaction during share
authorPierre-Yves David <pierre-yves.david@octobus.net>
Thu, 23 Feb 2023 04:42:17 +0100
changeset 50191 99faa396e186
parent 50190 34db5692d537
child 50192 6794f927bc48
narrow: write the narrow spec in a transaction during share It will be simpler if all write happens within transaction.
mercurial/hg.py
--- a/mercurial/hg.py	Thu Feb 23 04:36:19 2023 +0100
+++ b/mercurial/hg.py	Thu Feb 23 04:42:17 2023 +0100
@@ -457,7 +457,9 @@
         template = b'[paths]\ndefault = %s\n'
         destrepo.vfs.write(b'hgrc', util.tonativeeol(template % default))
     if requirements.NARROW_REQUIREMENT in sourcerepo.requirements:
-        with destrepo.wlock():
+        with destrepo.wlock(), destrepo.lock(), destrepo.transaction(
+            b"narrow-share"
+        ):
             narrowspec.copytoworkingcopy(destrepo)