Steve Borho committed e0b6f2c

many exceptions have been moved to

Comments (0)

Files changed (1)

 import re
 import shutil
-from mercurial import cmdutil, commands, hg, hgweb, node, util
+from mercurial import cmdutil, commands, error, hg, hgweb, node, util
 from mercurial import localrepo, sshrepo, sshserver, httprepo, statichttprepo
 from mercurial.i18n import gettext as _
-from mercurial.repo import RepoError
 # For backwards compatibility, we need the following function definition.
 # If we didn't want that, we'd have just written:
     findcmd.findcmd = cmdutil.findcmd
     findcmd.__doc__ = cmdutil.findcmd.__doc__
-    findcmd.UnknownCommand = cmdutil.UnknownCommand
 except AttributeError:
     findcmd.findcmd = commands.findcmd
     findcmd.__doc__ = commands.findcmd.__doc__
-    findcmd.UnknownCommand = commands.UnknownCommand
+for m in (error, cmdutil, commands):
+    if hasattr(m, "UnknownCommand"):
+        findcmd.UnknownCommand = m.UnknownCommand
+        break
+    from mercurial.error import RepoError
+except AttributeError:
+    from mercurial.repo import RepoError
 # For backwards compatibility, find the parseurl() function that splits
 # urls and revisions.  Mercurial 0.9.3 doesn't have this, so we need