mercurial/commands.py
changeset 1506 11c8b81f95fe
parent 1505 27f08094cfe0
child 1507 cd8fadd8c689
equal deleted inserted replaced
1505:27f08094cfe0 1506:11c8b81f95fe
  2372 
  2372 
  2373 norepo = ("clone init version help debugancestor debugconfig debugdata"
  2373 norepo = ("clone init version help debugancestor debugconfig debugdata"
  2374           " debugindex debugindexdot paths")
  2374           " debugindex debugindexdot paths")
  2375 
  2375 
  2376 def find(cmd):
  2376 def find(cmd):
       
  2377     choice = []
  2377     for e in table.keys():
  2378     for e in table.keys():
  2378         if re.match("(%s)$" % e, cmd):
  2379         aliases = e.lstrip("^").split("|")
       
  2380         if cmd in aliases:
  2379             return e, table[e]
  2381             return e, table[e]
       
  2382         for a in aliases:
       
  2383             if a.startswith(cmd):
       
  2384                 choice.append(e)
       
  2385     if len(choice) == 1:
       
  2386         e = choice[0]
       
  2387         return e, table[e]
  2380 
  2388 
  2381     raise UnknownCommand(cmd)
  2389     raise UnknownCommand(cmd)
  2382 
  2390 
  2383 class SignalInterrupt(Exception):
  2391 class SignalInterrupt(Exception):
  2384     """Exception raised on SIGTERM and SIGHUP."""
  2392     """Exception raised on SIGTERM and SIGHUP."""