changeset 30574:f8c9a7d2bbbf

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.
author Jun Wu <quark@fb.com>
date Tue, 06 Dec 2016 17:06:39 +0000
parents b0ebab239f90
children 5ffbaba9acac
files mercurial/localrepo.py tests/test-devel-warnings.t
diffstat 2 files changed, 2 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- 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 ..