Mercurial > public > mercurial-scm > hg
comparison mercurial/appendfile.py @ 2232:ef3c039e7ab8
Always remove appendopener tmp files (fixes issue235).
test-hup triggered this bug by killing "hg serve --stdio".
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Tue, 09 May 2006 17:03:00 +0200 |
parents | 6886bc0b77af |
children | d7f866789d7e |
comparison
equal
deleted
inserted
replaced
2231:9a2f4b2e7cf1 | 2232:ef3c039e7ab8 |
---|---|
132 for name, tmpname in tmpnames: | 132 for name, tmpname in tmpnames: |
133 fp = open(tmpname, 'rb') | 133 fp = open(tmpname, 'rb') |
134 s = fp.read() | 134 s = fp.read() |
135 fp.close() | 135 fp.close() |
136 os.unlink(tmpname) | 136 os.unlink(tmpname) |
137 del self.tmpnames[name] | |
137 fp = self.realopener(name, 'a') | 138 fp = self.realopener(name, 'a') |
138 fp.write(s) | 139 fp.write(s) |
139 fp.close() | 140 fp.close() |
141 | |
142 def cleanup(self): | |
143 '''delete temp files (this discards unwritten data!)''' | |
144 for tmpname in self.tmpnames.values(): | |
145 os.unlink(tmpname) | |
140 | 146 |
141 # files for changelog and manifest are in different appendopeners, so | 147 # files for changelog and manifest are in different appendopeners, so |
142 # not mixed up together. | 148 # not mixed up together. |
143 | 149 |
144 class appendchangelog(changelog.changelog, appendopener): | 150 class appendchangelog(changelog.changelog, appendopener): |