hg.openpath: use url.islocal to tell if the path is local (issue3624) stable
authorSiddharth Agarwal <sid0@fb.com>
Mon, 03 Feb 2014 14:53:44 -0800
branchstable
changeset 20354 b433b43364e4
parent 20353 0889585b44f1
child 20355 7d269e7620c4
hg.openpath: use url.islocal to tell if the path is local (issue3624) Previously we used hg.islocal, which doesn't work for paths pointing to non-repos, such as patch files.
mercurial/hg.py
--- a/mercurial/hg.py	Mon Feb 03 14:47:41 2014 -0800
+++ b/mercurial/hg.py	Mon Feb 03 14:53:44 2014 -0800
@@ -92,8 +92,9 @@
 
 def openpath(ui, path):
     '''open path with open if local, url.open if remote'''
-    if islocal(path):
-        return util.posixfile(util.urllocalpath(path), 'rb')
+    pathurl = util.url(path, parsequery=False, parsefragment=False)
+    if pathurl.islocal():
+        return util.posixfile(pathurl.localpath(), 'rb')
     else:
         return url.open(ui, path)