comparison mercurial/dispatch.py @ 26142:7332bf4ae959

dispatch: error out on invalid -R path even if optionalrepo (issue4805) (BC) Before this patch, repo could be set to None for wrong -R. It's okay for commands that can reject repo=None, but the command server have a problem because: - it accepts repo=None for "unbound" mode - and it reenters dispatch() where repo object is created for cwd by default Test outputs are changed because the error is detected earlier. I think new message is better than ".hg not found".
author Yuya Nishihara <yuya@tcha.org>
date Mon, 31 Aug 2015 23:29:15 +0900
parents d491f289045f
children eb2187ebdf8a
comparison
equal deleted inserted replaced
26141:fa6ba7c9600b 26142:7332bf4ae959
888 raise util.Abort(_("repository '%s' is not local") % path) 888 raise util.Abort(_("repository '%s' is not local") % path)
889 repo.ui.setconfig("bundle", "mainreporoot", repo.root, 'repo') 889 repo.ui.setconfig("bundle", "mainreporoot", repo.root, 'repo')
890 except error.RequirementError: 890 except error.RequirementError:
891 raise 891 raise
892 except error.RepoError: 892 except error.RepoError:
893 if rpath and rpath[-1]: # invalid -R path
894 raise
893 if cmd not in commands.optionalrepo.split(): 895 if cmd not in commands.optionalrepo.split():
894 if (cmd in commands.inferrepo.split() and 896 if (cmd in commands.inferrepo.split() and
895 args and not path): # try to infer -R from command args 897 args and not path): # try to infer -R from command args
896 repos = map(cmdutil.findrepo, args) 898 repos = map(cmdutil.findrepo, args)
897 guess = repos[0] 899 guess = repos[0]