D7807: hgrc: introduce HGRCSKIPREPO to skip reading the repository's hgrc
marmoute (Pierre-Yves David)
phabricator at mercurial-scm.org
Thu Jan 9 03:46:01 EST 2020
marmoute retitled this revision from "hgrc: introduce HGRCSKIPREPO to skip reading the hgrc's repository" to "hgrc: introduce HGRCSKIPREPO to skip reading the repository's hgrc".
marmoute updated this revision to Diff 19120.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D7807?vs=19059&id=19120
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D7807/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D7807
AFFECTED FILES
mercurial/helptext/environment.txt
mercurial/helptext/scripting.txt
mercurial/localrepo.py
tests/test-hgrc.t
CHANGE DETAILS
diff --git a/tests/test-hgrc.t b/tests/test-hgrc.t
--- a/tests/test-hgrc.t
+++ b/tests/test-hgrc.t
@@ -258,3 +258,16 @@
plain: True
read config from: $TESTTMP/hgrc
$TESTTMP/hgrc:17: paths.foo=$TESTTMP/bar
+
+Test we can skip the user configuration
+
+ $ cat >> .hg/hgrc <<EOF
+ > [paths]
+ > elephant = babar
+ > EOF
+ $ hg path
+ elephant = $TESTTMP/babar
+ foo = $TESTTMP/bar
+ $ HGRCSKIPREPO=1 hg path
+ foo = $TESTTMP/bar
+
diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -676,6 +676,8 @@
configs are loaded. For example, an extension may wish to pull in
configs from alternate files or sources.
"""
+ if b'HGRCSKIPREPO' in encoding.environ:
+ return False
try:
ui.readconfig(hgvfs.join(b'hgrc'), root=wdirvfs.base)
return True
diff --git a/mercurial/helptext/scripting.txt b/mercurial/helptext/scripting.txt
--- a/mercurial/helptext/scripting.txt
+++ b/mercurial/helptext/scripting.txt
@@ -74,6 +74,14 @@
like the username and extensions that may be required to interface
with a repository.
+HGRCSKIPREPO
+ When set, the .hg/hgrc from repositories are not read.
+
+ Note that not reading the repository's configuration can have
+ unintended consequences, as the repository config files can define
+ things like extensions that are required for access to the
+ repository.
+
Command-line Flags
==================
diff --git a/mercurial/helptext/environment.txt b/mercurial/helptext/environment.txt
--- a/mercurial/helptext/environment.txt
+++ b/mercurial/helptext/environment.txt
@@ -49,6 +49,9 @@
- if it's a directory, all files ending with .rc are added
- otherwise, the file itself will be added
+HGRCSKIPREPO
+ When set, the .hg/hgrc from repositories are not read.
+
HGPLAIN
When set, this disables any configuration settings that might
change Mercurial's default output. This includes encoding,
To: marmoute, #hg-reviewers
Cc: durin42, krbullock, pulkit, mercurial-devel
More information about the Mercurial-devel
mailing list