mercurial/dirstate.py
changeset 31208 fc57a8b95f1b
parent 31207 1ef37b16b8e8
child 31278 1c97a91a18dc
--- a/mercurial/dirstate.py	Wed Mar 01 17:59:21 2017 -0800
+++ b/mercurial/dirstate.py	Wed Mar 01 18:21:06 2017 -0800
@@ -1220,8 +1220,9 @@
         # use '_writedirstate' instead of 'write' to write changes certainly,
         # because the latter omits writing out if transaction is running.
         # output file will be used to create backup of dirstate at this point.
-        self._writedirstate(self._opener(filename, "w", atomictemp=True,
-                                         checkambig=True))
+        if self._dirty or not self._opener.exists(filename):
+            self._writedirstate(self._opener(filename, "w", atomictemp=True,
+                                             checkambig=True))
 
         if tr:
             # ensure that subsequent tr.writepending returns True for