develwarn: refactor the developer warning logic
authorPierre-Yves David <pierre-yves.david@fb.com>
Sun, 12 Apr 2015 14:24:28 -0400
changeset 24747 bef8b17443a3
parent 24746 e0c810d0ab69
child 24748 d6caadff4779
develwarn: refactor the developer warning logic The logic is currently duplicated and we plan to make it a bit smarter. So we move it into a function first to make the update more robust and simple.
mercurial/localrepo.py
mercurial/scmutil.py
--- a/mercurial/localrepo.py	Wed Apr 15 01:20:48 2015 -0400
+++ b/mercurial/localrepo.py	Sun Apr 12 14:24:28 2015 -0400
@@ -926,11 +926,7 @@
                 or self.ui.configbool('devel', 'check-locks')):
             l = self._lockref and self._lockref()
             if l is None or not l.held:
-                msg = 'transaction with no lock\n'
-                if self.ui.tracebackflag:
-                    util.debugstacktrace(msg, 1)
-                else:
-                    self.ui.write_err(msg)
+                scmutil.develwarn(self.ui, 'transaction with no lock\n')
         tr = self.currenttransaction()
         if tr is not None:
             return tr.nest()
@@ -1220,11 +1216,7 @@
                 or self.ui.configbool('devel', 'check-locks')):
             l = self._lockref and self._lockref()
             if l is not None and l.held:
-                msg = '"wlock" acquired after "lock"\n'
-                if self.ui.tracebackflag:
-                    util.debugstacktrace(msg, 1)
-                else:
-                    self.ui.write_err(msg)
+                scmutil.develwarn(self.ui, '"wlock" acquired after "lock"\n')
 
         def unlock():
             if self.dirstate.pendingparentchange():
--- a/mercurial/scmutil.py	Wed Apr 15 01:20:48 2015 -0400
+++ b/mercurial/scmutil.py	Sun Apr 12 14:24:28 2015 -0400
@@ -172,6 +172,13 @@
         self._loweredfiles.add(fl)
         self._newfiles.add(f)
 
+def develwarn(tui, msg):
+    """issue a developer warning message"""
+    if tui.tracebackflag:
+        util.debugstacktrace(msg, 2)
+    else:
+        tui.write_err(msg)
+
 def filteredhash(repo, maxrev):
     """build hash of filtered revisions in the current repoview.