diff mercurial/dirstate.py @ 26749:4a82cb5c1dc8

dirstate: show develwarn for write() invocation without transaction This is used to detect 'dirstate.write()' invocation without the value gotten by 'repo.currenttransaction()' (mainly focused on 3rd party extensions).
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Sat, 17 Oct 2015 01:15:34 +0900
parents beff0b2481b3
children 1aee2ab0f902
line wrap: on
line diff
--- a/mercurial/dirstate.py	Sat Oct 17 01:15:34 2015 +0900
+++ b/mercurial/dirstate.py	Sat Oct 17 01:15:34 2015 +0900
@@ -661,6 +661,11 @@
 
         filename = self._filename
         if tr is False: # not explicitly specified
+            if (self._ui.configbool('devel', 'all-warnings')
+                or self.ui.configbool('devel', 'check-dirstate-write')):
+                self._ui.develwarn('use dirstate.write with '
+                                   'repo.currenttransaction()')
+
             if self._opener.lexists(self._pendingfilename):
                 # if pending file already exists, in-memory changes
                 # should be written into it, because it has priority