Mercurial > hg > mercurial-crew-with-dirclash
comparison mercurial/appendfile.py @ 2236:d7f866789d7e
reduce memory used when appendfile appends to real file.
author | Vadim Gelfer <vadim.gelfer@gmail.com> |
---|---|
date | Tue, 09 May 2006 11:08:06 -0700 |
parents | ef3c039e7ab8 |
children | abaee83ce0a6 |
comparison
equal
deleted
inserted
replaced
2235:457e4247315d | 2236:d7f866789d7e |
---|---|
128 '''copy data from temp files to real files.''' | 128 '''copy data from temp files to real files.''' |
129 # write .d file before .i file. | 129 # write .d file before .i file. |
130 tmpnames = self.tmpnames.items() | 130 tmpnames = self.tmpnames.items() |
131 tmpnames.sort() | 131 tmpnames.sort() |
132 for name, tmpname in tmpnames: | 132 for name, tmpname in tmpnames: |
133 fp = open(tmpname, 'rb') | 133 ifp = open(tmpname, 'rb') |
134 s = fp.read() | 134 ofp = self.realopener(name, 'a') |
135 fp.close() | 135 for chunk in util.filechunkiter(ifp): |
136 ofp.write(chunk) | |
137 ifp.close() | |
136 os.unlink(tmpname) | 138 os.unlink(tmpname) |
137 del self.tmpnames[name] | 139 del self.tmpnames[name] |
138 fp = self.realopener(name, 'a') | 140 ofp.close() |
139 fp.write(s) | |
140 fp.close() | |
141 | 141 |
142 def cleanup(self): | 142 def cleanup(self): |
143 '''delete temp files (this discards unwritten data!)''' | 143 '''delete temp files (this discards unwritten data!)''' |
144 for tmpname in self.tmpnames.values(): | 144 for tmpname in self.tmpnames.values(): |
145 os.unlink(tmpname) | 145 os.unlink(tmpname) |