# HG changeset patch # User Matt Harbison # Date 2017-11-03 03:55:09 # 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 --git a/mercurial/hg.py b/mercurial/hg.py --- a/mercurial/hg.py +++ b/mercurial/hg.py @@ -243,7 +243,9 @@ def share(ui, source, dest=None, update= 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: