From patchwork Thu Jul 30 00:14:38 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [evolve-ext] inhibit: don't abort when directaccess is not enabled From: Laurent Charignon X-Patchwork-Id: 10073 Message-Id: <9d28cbc46f39cd446797.1438215278@lcharignon-mbp.dhcp.thefacebook.com> To: Date: Wed, 29 Jul 2015 17:14:38 -0700 # HG changeset patch # User Laurent Charignon # Date 1438188950 25200 # Wed Jul 29 09:55:50 2015 -0700 # Node ID 9d28cbc46f39cd44679767c3e055f48b05e25152 # Parent 89a1103bf139cf9a700a61a872c7004d1765fc52 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. diff --git a/hgext/inhibit.py b/hgext/inhibit.py --- a/hgext/inhibit.py +++ b/hgext/inhibit.py @@ -196,8 +196,11 @@ def extsetup(ui): 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, diff --git a/tests/test-inhibit.t b/tests/test-inhibit.t --- a/tests/test-inhibit.t +++ b/tests/test-inhibit.t @@ -725,9 +725,10 @@ Inhibit should not work without directac > 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 ..