mercurial/dirstate.py
changeset 4330 1b9fc3f48861
parent 4230 c93562fb12cc
child 4334 1cc5fc1d0994
child 4444 2d32e3ae01a7
--- a/mercurial/dirstate.py
+++ b/mercurial/dirstate.py
@@ -315,7 +315,7 @@ class dirstate(object):
     def write(self):
         if not self.dirty:
             return
-        st = self.opener("dirstate", "w", atomic=True)
+        st = self.opener("dirstate", "w", atomictemp=True)
         st.write("".join(self.pl))
         for f, e in self.map.items():
             c = self.copied(f)
@@ -323,6 +323,7 @@ class dirstate(object):
                 f = f + "\0" + c
             e = struct.pack(self.format, e[0], e[1], e[2], e[3], len(f))
             st.write(e + f)
+        st.rename()
         self.dirty = 0
 
     def filterfiles(self, files):