localrepo: use ProgrammingError
authorJun Wu <quark@fb.com>
Tue, 06 Dec 2016 17:06:39 +0000
changeset 30574 f8c9a7d2bbbf
parent 30573 b0ebab239f90
child 30575 5ffbaba9acac
localrepo: use ProgrammingError This is an example usage of ProgrammingError. Let's start migrating RuntimeError to ProgrammingError. The code only runs when devel.all-warnings or devel.check-locks is set, so it does not affect the end-user experience.
mercurial/localrepo.py
tests/test-devel-warnings.t
--- a/mercurial/localrepo.py	Tue Dec 06 14:57:47 2016 +0000
+++ b/mercurial/localrepo.py	Tue Dec 06 17:06:39 2016 +0000
@@ -1016,8 +1016,7 @@
         if (self.ui.configbool('devel', 'all-warnings')
                 or self.ui.configbool('devel', 'check-locks')):
             if self._currentlock(self._lockref) is None:
-                raise RuntimeError('programming error: transaction requires '
-                                   'locking')
+                raise error.ProgrammingError('transaction requires locking')
         tr = self.currenttransaction()
         if tr is not None:
             return tr.nest()
--- a/tests/test-devel-warnings.t	Tue Dec 06 14:57:47 2016 +0000
+++ b/tests/test-devel-warnings.t	Tue Dec 06 17:06:39 2016 +0000
@@ -174,6 +174,6 @@
   ** Mercurial Distributed SCM (*) (glob)
   ** Extensions loaded: * (glob)
   Traceback (most recent call last):
-  RuntimeError: programming error: transaction requires locking
+  mercurial.error.ProgrammingError: transaction requires locking
 
   $ cd ..