inhibit: don't abort when directaccess is not enabled
authorLaurent Charignon <lcharignon@fb.com>
Wed, 29 Jul 2015 09:55:50 -0700
changeset 1474 8e6de39b724d
parent 1473 89a1103bf139
child 1477 6ab5c0f40699
inhibit: don't abort when directaccess is not enabled When directaccess is not enabled, we should just print a warning and not set up inhibit. We don't need to abort in that case. Example: if the user is running hg showconfig, we don't want to crash as the command is unrelated to inhibit.
hgext/inhibit.py
tests/test-inhibit.t
--- a/hgext/inhibit.py	Fri Jul 10 22:58:13 2015 +0100
+++ b/hgext/inhibit.py	Wed Jul 29 09:55:50 2015 -0700
@@ -196,8 +196,11 @@
     try:
         extensions.find('directaccess')
     except KeyError:
-        errormsg = _('Cannot use inhibit without the direct access extension')
-        raise error.Abort(errormsg)
+        errormsg = _('cannot use inhibit without the direct access extension\n')
+        hint = _("(please enable it or inhibit won\'t work)\n")
+        ui.warn(errormsg)
+        ui.warn(hint)
+        return
 
     # Wrapping this to inhibit obsolete revs resulting from a transaction
     extensions.wrapfunction(localrepo.localrepository,
--- a/tests/test-inhibit.t	Fri Jul 10 22:58:13 2015 +0100
+++ b/tests/test-inhibit.t	Wed Jul 29 09:55:50 2015 -0700
@@ -725,9 +725,10 @@
   > directaccess=!
   > testextension=!
   > EOF
-  $ hg up 15
-  abort: Cannot use inhibit without the direct access extension
-  [255]
+  $ hg up .
+  cannot use inhibit without the direct access extension
+  (please enable it or inhibit won't work)
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ echo "directaccess=$(echo $(dirname $TESTDIR))/hgext/directaccess.py" >> $HGRCPATH
   $ cd ..