Fix dispatch error message when not in a repo
authorBrendan Cully <brendan@kublai.com>
Wed, 20 Jun 2007 20:13:31 -0700
changeset 4654 e0e73ba37983
parent 4653 ca023b63ba1f
child 4655 120626e06409
Fix dispatch error message when not in a repo
mercurial/cmdutil.py
tests/test-dispatch
tests/test-dispatch.out
--- 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)!