D5503: vfs: add support for repo names with `$` when using with env vars (issue5739)
navaneeth.suresh (Navaneeth Suresh)
phabricator at mercurial-scm.org
Mon Jan 7 07:08:57 EST 2019
navaneeth.suresh updated this revision to Diff 13046.
navaneeth.suresh retitled this revision from "vfs: add support for repo names with `$` sign while using with env vars (issue5739)" to "vfs: add support for repo names with `$` when using with env vars (issue5739)".
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D5503?vs=13025&id=13046
REVISION DETAIL
https://phab.mercurial-scm.org/D5503
AFFECTED FILES
mercurial/vfs.py
tests/test-issue5739.t
CHANGE DETAILS
diff --git a/tests/test-issue5739.t b/tests/test-issue5739.t
new file mode 100644
--- /dev/null
+++ b/tests/test-issue5739.t
@@ -0,0 +1,8 @@
+-- going to create a repo with dollar sign which even
+works even when there exists an environment variable
+
+ $ mkdir '$foo'
+ $ cd '$foo'
+ $ hg init
+ $ foo=bar hg root
+ $TESTTMP/$foo
diff --git a/mercurial/vfs.py b/mercurial/vfs.py
--- a/mercurial/vfs.py
+++ b/mercurial/vfs.py
@@ -311,6 +311,10 @@
'''
def __init__(self, base, audit=True, cacheaudited=False, expandpath=False,
realpath=False):
+ if '$' in base and os.path.isdir(base):
+ # when there exists a repo '$foo' and an env var foo=bar, stop
+ # expanding path. refer issue5739.
+ expandpath = False
if expandpath:
base = util.expandpath(base)
if realpath:
To: navaneeth.suresh, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list