If local repository is missing, make error message clearer.
Faheem Mitha suggested finding a better error message.
The nice error message is taken from cogito.
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -2458,7 +2458,8 @@ def serve(ui, repo, **opts):
if opts["stdio"]:
if repo is None:
- raise hg.RepoError(_('no repo found'))
+ raise hg.RepoError(_("There is no Mercurial repository here"
+ " (.hg not found)"))
s = sshserver.sshserver(ui, repo)
s.serve_forever()
@@ -2469,7 +2470,8 @@ def serve(ui, repo, **opts):
ui.setconfig("web", o, opts[o])
if repo is None and not ui.config("web", "webdir_conf"):
- raise hg.RepoError(_('no repo found'))
+ raise hg.RepoError(_("There is no Mercurial repository here"
+ " (.hg not found)"))
if opts['daemon'] and not opts['daemon_pipefds']:
rfd, wfd = os.pipe()
--- a/mercurial/hgweb/server.py
+++ b/mercurial/hgweb/server.py
@@ -207,7 +207,8 @@ def create_server(ui, repo):
hgwebobj = self.repoviewmaker(repo.__class__(repo.ui,
repo.origroot))
else:
- raise hg.RepoError(_('no repo found'))
+ raise hg.RepoError(_("There is no Mercurial repository here"
+ " (.hg not found)"))
return hgwebobj
class IPv6HTTPServer(MercurialHTTPServer):
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -27,7 +27,8 @@ class localrepository(repo.repository):
oldp = p
p = os.path.dirname(p)
if p == oldp:
- raise repo.RepoError(_("no repo found"))
+ raise repo.RepoError(_("There is no Mercurial repository"
+ " here (.hg not found)"))
path = p
self.path = os.path.join(path, ".hg")