summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Iversen <teh.ivo@gmail.com>2016-01-22 23:36:07 +1100
committerMatthew Iversen <teh.ivo@gmail.com>2016-01-22 23:36:07 +1100
commitac4ea65b14270caeac56b1e1e64c56928037ebe2 (patch)
treebc7f3ea6abdc312843eff94fd76a6168c09aec75
parent05a82aa194d8b43435236f6ee7e4e50351c92d95 (diff)
downloadvirtualenv-ac4ea65b14270caeac56b1e1e64c56928037ebe2.tar.gz
Fix #837
Normalize case for prefix paths before checking them
-rw-r--r--docs/changes.rst2
-rwxr-xr-xvirtualenv.py3
2 files changed, 4 insertions, 1 deletions
diff --git a/docs/changes.rst b/docs/changes.rst
index 9c2c2b9..1f5c73b 100644
--- a/docs/changes.rst
+++ b/docs/changes.rst
@@ -6,6 +6,8 @@ Release History
* Supress any errors from `unset` on different shells (:pull:`843`)
+* Normalize letter case for prefix path checking. Fixes :issue:`837`
+
14.0.1 (2016-01-21)
-------------------
diff --git a/virtualenv.py b/virtualenv.py
index 513f12d..c8148f5 100755
--- a/virtualenv.py
+++ b/virtualenv.py
@@ -975,9 +975,10 @@ def change_prefix(filename, dst_prefix):
prefixes.append(sys.base_prefix)
prefixes = list(map(os.path.expanduser, prefixes))
prefixes = list(map(os.path.abspath, prefixes))
+ prefixes = list(map(os.path.normcase, prefixes))
# Check longer prefixes first so we don't split in the middle of a filename
prefixes = sorted(prefixes, key=len, reverse=True)
- filename = os.path.abspath(filename)
+ filename = os.path.normcase(os.path.abspath(filename))
for src_prefix in prefixes:
if filename.startswith(src_prefix):
_, relpath = filename.split(src_prefix, 1)