mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 16:31:02 +03:00
localrepo: write .hg/reponame on repo creation
Summary: Make dynamicconfig pick up the repo name because hgrc gets written. Reviewed By: DurhamG Differential Revision: D29428878 fbshipit-source-id: fbf578cd7c770a4541fff3b85ff40c40cd5a6cc5
This commit is contained in:
parent
8186a5400b
commit
e454f71fa9
@ -471,6 +471,7 @@ def clone(
|
||||
# Create the destination repo before we even open the connection to the
|
||||
# source, so we can use any repo-specific configuration for the connection.
|
||||
try:
|
||||
# Note: This triggers hgrc.dynamic generation with empty repo hgrc.
|
||||
destpeer = peer(ui, peeropts, dest, create=True)
|
||||
except OSError as inst:
|
||||
if inst.errno == errno.EEXIST:
|
||||
|
@ -455,6 +455,12 @@ class localrepository(object):
|
||||
elif create:
|
||||
raise errormod.RepoError(_("repository %s already exists") % path)
|
||||
|
||||
# Prepare .hg/reponame in localvfs before calling into dynamicconfig.
|
||||
if created:
|
||||
reponame = self.ui.config("remotefilelog", "reponame")
|
||||
if reponame and not self.localvfs.exists("reponame"):
|
||||
self.localvfs.writeutf8("reponame", reponame.strip())
|
||||
|
||||
self.ui.reloadconfigs(self.root)
|
||||
|
||||
self._loadextensions()
|
||||
|
@ -184,6 +184,7 @@ Make sure bundlerepo doesn't leak tempfiles (issue2491)
|
||||
00changelog.i
|
||||
blackbox
|
||||
hgrc.dynamic
|
||||
reponame
|
||||
requires
|
||||
store
|
||||
treestate
|
||||
|
@ -44,7 +44,7 @@ Verify it can be automatically synchronously generated
|
||||
value
|
||||
$ cat .hg/hgrc.dynamic
|
||||
# version=4.4.2* (glob)
|
||||
# reponame=
|
||||
# reponame=reponame-default
|
||||
# canary=None
|
||||
# username=
|
||||
# Generated by `hg debugdynamicconfig` - DO NOT MODIFY
|
||||
@ -224,7 +224,7 @@ Verify we load and verify dynamicconfigs during clone
|
||||
Hook ran!
|
||||
$ cat client2/.hg/hgrc.dynamic
|
||||
# version=4.4.2* (glob)
|
||||
# reponame=
|
||||
# reponame=reponame-default
|
||||
# canary=None
|
||||
# username=
|
||||
# Generated by `hg debugdynamicconfig` - DO NOT MODIFY
|
||||
|
@ -28,6 +28,7 @@ sh % "ls .hg" == r"""
|
||||
00changelog.i
|
||||
blackbox
|
||||
hgrc.dynamic
|
||||
reponame
|
||||
requires
|
||||
store
|
||||
treestate"""
|
||||
@ -54,6 +55,7 @@ sh % "ls .hg" == r"""
|
||||
dirstate
|
||||
hgrc
|
||||
hgrc.dynamic
|
||||
reponame
|
||||
requires
|
||||
store
|
||||
treestate
|
||||
|
@ -121,6 +121,7 @@ you can't check out.
|
||||
importing git objects into hg
|
||||
warning: path 'nested/.hg/00changelog.i' is within a nested repository, which Mercurial cannot check out.
|
||||
warning: path 'nested/.hg/hgrc.dynamic' is within a nested repository, which Mercurial cannot check out.
|
||||
warning: path 'nested/.hg/reponame' is within a nested repository, which Mercurial cannot check out.
|
||||
warning: path 'nested/.hg/requires' is within a nested repository, which Mercurial cannot check out.
|
||||
warning: path 'nested/.hg/store/metalog/blobs/index2-id' is within a nested repository, which Mercurial cannot check out.
|
||||
warning: path 'nested/.hg/store/metalog/blobs/log' is within a nested repository, which Mercurial cannot check out.
|
||||
|
@ -58,6 +58,7 @@ store is setgid
|
||||
00770 ./.hg/
|
||||
00600 ./.hg/00changelog.i
|
||||
00600 ./.hg/hgrc.dynamic
|
||||
00600 ./.hg/reponame
|
||||
00600 ./.hg/requires
|
||||
00770 ./.hg/store/
|
||||
00600 ./.hg/store/requires
|
||||
@ -79,6 +80,7 @@ new directories are setgid
|
||||
00660 ./.hg/dirstate
|
||||
00600 ./.hg/hgrc.dynamic
|
||||
00660 ./.hg/last-message.txt
|
||||
00600 ./.hg/reponame
|
||||
00600 ./.hg/requires
|
||||
00770 ./.hg/store/
|
||||
006?0 ./.hg/store/00changelog.d (glob)
|
||||
@ -122,6 +124,7 @@ group can write everything
|
||||
00770 ../push/.hg/
|
||||
00660 ../push/.hg/00changelog.i
|
||||
00660 ../push/.hg/hgrc.dynamic
|
||||
00660 ../push/.hg/reponame
|
||||
00660 ../push/.hg/requires
|
||||
00770 ../push/.hg/store/
|
||||
00660 ../push/.hg/store/requires
|
||||
@ -138,6 +141,7 @@ XXX: treestate and allheads do not really respect this rule
|
||||
00660 ../push/.hg/00changelog.i
|
||||
00660 ../push/.hg/dirstate
|
||||
00660 ../push/.hg/hgrc.dynamic
|
||||
00660 ../push/.hg/reponame
|
||||
00660 ../push/.hg/requires
|
||||
00770 ../push/.hg/store/
|
||||
006?0 ../push/.hg/store/00changelog.d (glob)
|
||||
|
Loading…
Reference in New Issue
Block a user