diff -r 7db1619af061 -r ce0bc2952e2a mercurial/hg.py --- a/mercurial/hg.py Fri Jul 13 11:26:46 2018 -0700 +++ b/mercurial/hg.py Fri Dec 21 10:13:49 2018 -0800 @@ -38,6 +38,7 @@ narrowspec, node, phases, + repository as repositorymod, scmutil, sshpeer, statichttprepo, @@ -331,6 +332,9 @@ template = ('[paths]\n' 'default = %s\n') destrepo.vfs.write('hgrc', util.tonativeeol(template % default)) + if repositorymod.NARROW_REQUIREMENT in sourcerepo.requirements: + with destrepo.wlock(): + narrowspec.copytoworkingcopy(destrepo, None) def _postshareupdate(repo, update, checkout=None): """Maybe perform a working directory update after a shared repo is created. @@ -731,7 +735,7 @@ local = destpeer.local() if local: if narrow: - with local.lock(): + with local.wlock(), local.lock(): local.setnarrowpats(storeincludepats, storeexcludepats) u = util.url(abspath)