comparison mercurial/dispatch.py @ 10402:d216fa04e48a

mq: make init -Q do what qinit -c did
author Brendan Cully <brendan@kublai.com>
date Mon, 08 Feb 2010 10:50:00 +0100
parents de1e7099d100
children 6ded6243bde2
comparison
equal deleted inserted replaced
10401:6252852b4332 10402:d216fa04e48a
160 % ", ".join([x[0] for x in extensions.extensions()])) 160 % ", ".join([x[0] for x in extensions.extensions()]))
161 raise 161 raise
162 162
163 return -1 163 return -1
164 164
165 def _findrepo(p):
166 while not os.path.isdir(os.path.join(p, ".hg")):
167 oldp, p = p, os.path.dirname(p)
168 if p == oldp:
169 return None
170
171 return p
172
173 def aliasargs(fn): 165 def aliasargs(fn):
174 if hasattr(fn, 'args'): 166 if hasattr(fn, 'args'):
175 return fn.args 167 return fn.args
176 return [] 168 return []
177 169
358 cwd = _earlygetopt(['--cwd'], args) 350 cwd = _earlygetopt(['--cwd'], args)
359 if cwd: 351 if cwd:
360 os.chdir(cwd[-1]) 352 os.chdir(cwd[-1])
361 353
362 # read the local repository .hgrc into a local ui object 354 # read the local repository .hgrc into a local ui object
363 path = _findrepo(os.getcwd()) or "" 355 path = cmdutil.findrepo(os.getcwd()) or ""
364 if not path: 356 if not path:
365 lui = ui 357 lui = ui
366 else: 358 else:
367 try: 359 try:
368 lui = ui.copy() 360 lui = ui.copy()
457 raise util.Abort(_("repository '%s' is not local") % path) 449 raise util.Abort(_("repository '%s' is not local") % path)
458 ui.setconfig("bundle", "mainreporoot", repo.root) 450 ui.setconfig("bundle", "mainreporoot", repo.root)
459 except error.RepoError: 451 except error.RepoError:
460 if cmd not in commands.optionalrepo.split(): 452 if cmd not in commands.optionalrepo.split():
461 if args and not path: # try to infer -R from command args 453 if args and not path: # try to infer -R from command args
462 repos = map(_findrepo, args) 454 repos = map(cmdutil.findrepo, args)
463 guess = repos[0] 455 guess = repos[0]
464 if guess and repos.count(guess) == len(repos): 456 if guess and repos.count(guess) == len(repos):
465 return _dispatch(ui, ['--repository', guess] + fullargs) 457 return _dispatch(ui, ['--repository', guess] + fullargs)
466 if not path: 458 if not path:
467 raise error.RepoError(_("There is no Mercurial repository" 459 raise error.RepoError(_("There is no Mercurial repository"