changeset 4654:e0e73ba37983

Fix dispatch error message when not in a repo
author Brendan Cully <brendan@kublai.com>
date Wed, 20 Jun 2007 20:13:31 -0700
parents ca023b63ba1f
children 120626e06409
files mercurial/cmdutil.py tests/test-dispatch tests/test-dispatch.out
diffstat 3 files changed, 11 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -320,6 +320,9 @@ def dispatch(ui, args):
                 raise util.Abort(_("repository '%s' is not local") % path)
         except hg.RepoError:
             if cmd not in commands.optionalrepo.split():
+                if not path:
+                    raise hg.RepoError(_("There is no Mercurial repository here"
+                                         " (.hg not found)"))
                 raise
         d = lambda: func(ui, repo, *args, **cmdoptions)
     else:
--- a/tests/test-dispatch
+++ b/tests/test-dispatch
@@ -17,3 +17,9 @@ cat = -v
 EOF
 hg cat a
 
+echo '% no repo'
+cd ..
+hg cat
+
+exit 0
+ 
\ No newline at end of file
--- a/tests/test-dispatch.out
+++ b/tests/test-dispatch.out
@@ -28,3 +28,5 @@ use "hg -v help cat" to show global opti
 % [defaults]
 a
 a
+% no repo
+abort: There is no Mercurial repository here (.hg not found)!