mercurial/cmdutil.py
changeset 4556 30bc57094bfc
parent 4555 1843d31bfdbf
child 4557 050fa240db9c
equal deleted inserted replaced
4555:1843d31bfdbf 4556:30bc57094bfc
     7 
     7 
     8 from node import *
     8 from node import *
     9 from i18n import _
     9 from i18n import _
    10 import os, sys, mdiff, bdiff, util, templater, patch, commands
    10 import os, sys, mdiff, bdiff, util, templater, patch, commands
    11 import atexit, signal, pdb, hg, lock, fancyopts, traceback
    11 import atexit, signal, pdb, hg, lock, fancyopts, traceback
    12 import socket, revlog, version, extensions, errno, localrepo
    12 import socket, revlog, version, extensions, errno
    13 
    13 
    14 revrangesep = ':'
    14 revrangesep = ':'
    15 
    15 
    16 class UnknownCommand(Exception):
    16 class UnknownCommand(Exception):
    17     """Exception raised if command is not in the command table."""
    17     """Exception raised if command is not in the command table."""
   184     if choice:
   184     if choice:
   185         return choice.values()[0]
   185         return choice.values()[0]
   186 
   186 
   187     raise UnknownCommand(cmd)
   187     raise UnknownCommand(cmd)
   188 
   188 
       
   189 def findrepo():
       
   190     p = os.getcwd()
       
   191     while not os.path.isdir(os.path.join(p, ".hg")):
       
   192         oldp, p = p, os.path.dirname(p)
       
   193         if p == oldp:
       
   194             return None
       
   195 
       
   196     return p
       
   197 
   189 def parse(ui, args):
   198 def parse(ui, args):
   190     options = {}
   199     options = {}
   191     cmdoptions = {}
   200     cmdoptions = {}
   192 
   201 
   193     try:
   202     try:
   257 
   266 
   258     # read the local repository .hgrc into a local ui object
   267     # read the local repository .hgrc into a local ui object
   259     # this will trigger its extensions to load
   268     # this will trigger its extensions to load
   260     path = earlygetopt(["-R", "--repository"], args)
   269     path = earlygetopt(["-R", "--repository"], args)
   261     if not path:
   270     if not path:
   262         path = localrepo.findrepo() or ""
   271         path = findrepo() or ""
   263     if path:
   272     if path:
   264         try:
   273         try:
   265             lui = commands.ui.ui(parentui=ui)
   274             lui = commands.ui.ui(parentui=ui)
   266             lui.readconfig(os.path.join(path, ".hg", "hgrc"))
   275             lui.readconfig(os.path.join(path, ".hg", "hgrc"))
   267         except IOError:
   276         except IOError: