# HG changeset patch # User Matt Harbison # Date 1509681309 14400 # Node ID b64ea7fb95990ef0178bb7b5441088ee582a6483 # Parent f445b10dc7fb3495d24d1c22b0996148864c77f7 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. diff -r f445b10dc7fb -r b64ea7fb9599 mercurial/hg.py --- 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: