mercurial/ui.py
changeset 12662 7285b2824fb7
parent 12087 a88a4720c2f0
child 12665 cf24b6b5517c
equal deleted inserted replaced
12660:6ed5ae6264c2 12662:7285b2824fb7
    96         if root is None:
    96         if root is None:
    97             root = os.path.expanduser('~')
    97             root = os.path.expanduser('~')
    98         self.fixconfig(root=root)
    98         self.fixconfig(root=root)
    99 
    99 
   100     def fixconfig(self, root=None):
   100     def fixconfig(self, root=None):
       
   101         # expand vars and ~
   101         # translate paths relative to root (or home) into absolute paths
   102         # translate paths relative to root (or home) into absolute paths
   102         root = root or os.getcwd()
   103         root = root or os.getcwd()
   103         for c in self._tcfg, self._ucfg, self._ocfg:
   104         for c in self._tcfg, self._ucfg, self._ocfg:
   104             for n, p in c.items('paths'):
   105             for n, p in c.items('paths'):
   105                 if p and "://" not in p and not os.path.isabs(p):
   106                 if not p:
   106                     c.set("paths", n, os.path.normpath(os.path.join(root, p)))
   107                     continue
       
   108                 if '%%' in p:
       
   109                     self.warn(_("(deprecated '%%' in path %s=%s from %s)\n")
       
   110                               % (n, p, self.configsource('paths', n)))
       
   111                     p = p.replace('%%', '%')
       
   112                 p = util.expandpath(p)
       
   113                 if '://' not in p and not os.path.isabs(p):
       
   114                         p = os.path.normpath(os.path.join(root, p))
       
   115                 c.set("paths", n, p)
   107 
   116 
   108         # update ui options
   117         # update ui options
   109         self.debugflag = self.configbool('ui', 'debug')
   118         self.debugflag = self.configbool('ui', 'debug')
   110         self.verbose = self.debugflag or self.configbool('ui', 'verbose')
   119         self.verbose = self.debugflag or self.configbool('ui', 'verbose')
   111         self.quiet = not self.debugflag and self.configbool('ui', 'quiet')
   120         self.quiet = not self.debugflag and self.configbool('ui', 'quiet')
   298         """Return a short representation of a user name or email address."""
   307         """Return a short representation of a user name or email address."""
   299         if not self.verbose:
   308         if not self.verbose:
   300             user = util.shortuser(user)
   309             user = util.shortuser(user)
   301         return user
   310         return user
   302 
   311 
   303     def _path(self, loc):
       
   304         p = self.config('paths', loc)
       
   305         if p:
       
   306             if '%%' in p:
       
   307                 self.warn(_("(deprecated '%%' in path %s=%s from %s)\n") %
       
   308                           (loc, p, self.configsource('paths', loc)))
       
   309                 p = p.replace('%%', '%')
       
   310             p = util.expandpath(p)
       
   311         return p
       
   312 
       
   313     def expandpath(self, loc, default=None):
   312     def expandpath(self, loc, default=None):
   314         """Return repository location relative to cwd or from [paths]"""
   313         """Return repository location relative to cwd or from [paths]"""
   315         if "://" in loc or os.path.isdir(os.path.join(loc, '.hg')):
   314         if "://" in loc or os.path.isdir(os.path.join(loc, '.hg')):
   316             return loc
   315             return loc
   317 
   316 
   318         path = self._path(loc)
   317         path = self.config('paths', loc)
   319         if not path and default is not None:
   318         if not path and default is not None:
   320             path = self._path(default)
   319             path = self.config('paths', default)
   321         return path or loc
   320         return path or loc
   322 
   321 
   323     def pushbuffer(self):
   322     def pushbuffer(self):
   324         self._buffers.append([])
   323         self._buffers.append([])
   325 
   324