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.
--- 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 ..