mercurial/changelog.py
changeset 23292 e44399c494ab
parent 23281 f60ed8cf4afc
child 24030 828dc8db5515
--- a/mercurial/changelog.py	Wed Nov 05 09:27:08 2014 +0000
+++ b/mercurial/changelog.py	Sat Nov 08 17:08:09 2014 +0000
@@ -273,7 +273,11 @@
         if self._delaybuf:
             # make a temporary copy of the index
             fp1 = self._realopener(self.indexfile)
-            fp2 = self._realopener(self.indexfile + ".a", "w")
+            pendingfilename = self.indexfile + ".a"
+            # register as a temp file to ensure cleanup on failure
+            tr.registertmp(pendingfilename)
+            # write existing data
+            fp2 = self._realopener(pendingfilename, "w")
             fp2.write(fp1.read())
             # add pending data
             fp2.write("".join(self._delaybuf))