comparison mercurial/ui.py @ 13825:cc383142e738

url: use url.url in ui.expandpath()
author Brodie Rao <brodie@bitheap.org>
date Wed, 30 Mar 2011 20:02:17 -0700
parents 1ce0e80799c0
children f1823b9f073b
comparison
equal deleted inserted replaced
13824:ec1695350361 13825:cc383142e738
5 # This software may be used and distributed according to the terms of the 5 # This software may be used and distributed according to the terms of the
6 # GNU General Public License version 2 or any later version. 6 # GNU General Public License version 2 or any later version.
7 7
8 from i18n import _ 8 from i18n import _
9 import errno, getpass, os, socket, sys, tempfile, traceback 9 import errno, getpass, os, socket, sys, tempfile, traceback
10 import config, util, error 10 import config, util, error, url
11 11
12 class ui(object): 12 class ui(object):
13 def __init__(self, src=None): 13 def __init__(self, src=None):
14 self._buffers = [] 14 self._buffers = []
15 self.quiet = self.verbose = self.debugflag = self.tracebackflag = False 15 self.quiet = self.verbose = self.debugflag = self.tracebackflag = False
109 if '%%' in p: 109 if '%%' in p:
110 self.warn(_("(deprecated '%%' in path %s=%s from %s)\n") 110 self.warn(_("(deprecated '%%' in path %s=%s from %s)\n")
111 % (n, p, self.configsource('paths', n))) 111 % (n, p, self.configsource('paths', n)))
112 p = p.replace('%%', '%') 112 p = p.replace('%%', '%')
113 p = util.expandpath(p) 113 p = util.expandpath(p)
114 if '://' not in p and not os.path.isabs(p): 114 if not url.has_scheme(p) and not os.path.isabs(p):
115 p = os.path.normpath(os.path.join(root, p)) 115 p = os.path.normpath(os.path.join(root, p))
116 c.set("paths", n, p) 116 c.set("paths", n, p)
117 117
118 if section in (None, 'ui'): 118 if section in (None, 'ui'):
119 # update ui options 119 # update ui options
323 user = util.shortuser(user) 323 user = util.shortuser(user)
324 return user 324 return user
325 325
326 def expandpath(self, loc, default=None): 326 def expandpath(self, loc, default=None):
327 """Return repository location relative to cwd or from [paths]""" 327 """Return repository location relative to cwd or from [paths]"""
328 if "://" in loc or os.path.isdir(os.path.join(loc, '.hg')): 328 if url.has_scheme(loc) or os.path.isdir(os.path.join(loc, '.hg')):
329 return loc 329 return loc
330 330
331 path = self.config('paths', loc) 331 path = self.config('paths', loc)
332 if not path and default is not None: 332 if not path and default is not None:
333 path = self.config('paths', default) 333 path = self.config('paths', default)