Added detection for case-sensitive file systems

This is needed for the moment because of a bug in virtualenv (reported upstream).
This commit is contained in:
Per Lundberg 2016-06-13 20:51:40 +03:00
parent 08a55e2951
commit 22fddac3ad

View file

@ -160,7 +160,22 @@ def _activate_virtualenv(topdir):
open(marker_path, 'w').close()
def _ensure_case_insensitive_if_windows():
# The folder is called 'python'. By deliberately checking for it with the wrong case, we determine if the file
# system is case sensitive or not.
if _is_windows() and not os.path.exists('Python'):
print('Cannot run mach in a path on a case-sensitive file system on Windows.')
print('For more details, see https://github.com/pypa/virtualenv/issues/935')
sys.exit(1)
def _is_windows():
return sys.platform == 'win32' or sys.platform == 'msys'
def bootstrap(topdir):
_ensure_case_insensitive_if_windows()
topdir = os.path.abspath(topdir)
# We don't support paths with Unicode characters for now