Issue #5117: Case normalization was needed on ntpath.relpath(). And
fixed root directory issue on posixpath.relpath(). (Ported working fixes
from ntpath)
diff --git a/Lib/ntpath.py b/Lib/ntpath.py
index d2410f6..579673d 100644
--- a/Lib/ntpath.py
+++ b/Lib/ntpath.py
@@ -616,7 +616,7 @@
path_abs = abspath(normpath(path))
start_drive, start_rest = splitdrive(start_abs)
path_drive, path_rest = splitdrive(path_abs)
- if start_drive != path_drive:
+ if normcase(start_drive) != normcase(path_drive):
error = "path is on mount '{0}', start on mount '{1}'".format(
path_drive, start_drive)
raise ValueError(error)
@@ -626,7 +626,7 @@
# Work out how much of the filepath is shared by start and path.
i = 0
for e1, e2 in zip(start_list, path_list):
- if e1 != e2:
+ if normcase(e1) != normcase(e2):
break
i += 1