This is useful for centralized setups where you want to distribute
configuration settings to all repositories with a minimum amount of
+setup. See also the `subrepository remapping plan`__ for a situation
+.. __: http://mercurial.selenic.com/wiki/SubrepoRemappingPlan
The extensions uses the pushkey protocol to transfer the projrc file.
Mercurial changed the encoding of pushkeys between version 1.7 and
not pre-1.8 clients with post-1.8 servers. If both server and client
are pre-1.8 it is working fine, and also if they both are post-1.8.
-See the `subrepository remapping plan`__ for a situation where you can
-.. __: http://mercurial.selenic.com/wiki/SubrepoRemappingPlan
By default the extension does *not* load the remote projrc file from
-For security reasons, the user must manually select which keys of the
-remote projrc file will be automatically transferred from the remote
-repository on clone or on each pull. It must also select from which
-servers the projrc file must be pulled.
+*any* server. For security reasons, the user must manually select
+which keys of the remote projrc file will be automatically transferred
+from the remote repository on clone or on each pull. It must also
+select from which servers the projrc file must be pulled.
The reason for not accepting all remote projrc settings automatically
is that it would be possible to create a malicious projrc file that
The ``projrc.servers`` setting lets you control from which servers the
-projrc file must be pulled.
-This setting is a comma separated list of glob patterns matching the
-server names of the servers that the projrc file must be pulled from.
-Unless the ``projrc.servers`` key is set, the projrc file will not be
+projrc file must be pulled. This setting is a comma separated list of
+glob patterns matching the server names of the servers that the projrc
+file must be pulled from. Unless the ``projrc.servers`` key is set,
+the projrc file will not be pulled from any server.
To pull the projrc file from all servers, you can set::
The ``projrc.include`` configuration key lets you control which
sections and which keys must be accepted from the remote projrc files.
The projrc.include key is a comma separated list of glob patterns that
match the section or key names that must be included. Keys names must
be specified with their section name followed by a ``.`` followed by
exclusion list is set but the inclusion list is empty or not set all
non excluded keys will be included.
If both an include and an exclude lists are set, and a key matches
both the include and the exclude list, priority is given to the most
explicit key match, in the following order: