share: handle --relative shares to a different drive letter gracefully
This had the same problem as
f445b10dc7fb. Banning os.path.relpath() is
tempting, but the hint it provides is useful here.
--- a/mercurial/hg.py Thu Nov 02 20:35:31 2017 -0400
+++ b/mercurial/hg.py Thu Nov 02 23:55:09 2017 -0400
@@ -243,7 +243,9 @@
try:
sharedpath = os.path.relpath(sharedpath, destvfs.base)
requirements += 'relshared\n'
- except IOError as e:
+ except (IOError, ValueError) as e:
+ # ValueError is raised on Windows if the drive letters differ on
+ # each path
raise error.Abort(_('cannot calculate relative path'),
hint=str(e))
else: