Skip to content
Snippets Groups Projects
Commit f445b10d authored by Matt Harbison's avatar Matt Harbison
Browse files

pathutil: use util.pathto() to calculate relative cwd in canonpath()

os.path.relpath() exploded if the 'root' and 'cwd' directories had different
drive letters.  I noticed this in TortoiseHg when typing a fileset into the
filter, and it kept complaining until the closing '()' was typed.  This was
reproducible on the command line with:

  $ cd /d
  $ hg -R /c/Users/Matt/Projects/hg files 'set:e'
  Traceback (most recent call last):
  ...
  File "mercurial\pathutil.pyc", line 182, in canonpath
  File "ntpath.pyc", line 529, in relpath
  ValueError: path is on drive c:, start on drive d:
parent 95f54cec
No related branches found
No related tags found
No related merge requests found
......@@ -184,8 +184,10 @@
try:
if cwd != root:
canonpath(root, root, myname, auditor)
hint = (_("consider using '--cwd %s'")
% os.path.relpath(root, cwd))
relpath = util.pathto(root, cwd, '')
if relpath[-1] == pycompat.ossep:
relpath = relpath[:-1]
hint = (_("consider using '--cwd %s'") % relpath)
except error.Abort:
pass
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment