phase: extract the phaseroots serialization in a dedicated method
In most case, the file creation logic will be handled by the
transaction itself. The write method has to stay around for the case
where the repository is modified outside a transaction (strip).
--- a/mercurial/phases.py Thu Aug 07 14:40:02 2014 -0700
+++ b/mercurial/phases.py Thu Aug 07 14:41:00 2014 -0700
@@ -196,11 +196,14 @@
return
f = self.opener('phaseroots', 'w', atomictemp=True)
try:
- for phase, roots in enumerate(self.phaseroots):
- for h in roots:
- f.write('%i %s\n' % (phase, hex(h)))
+ self._write(f)
finally:
f.close()
+
+ def _write(self, fp):
+ for phase, roots in enumerate(self.phaseroots):
+ for h in roots:
+ fp.write('%i %s\n' % (phase, hex(h)))
self.dirty = False
def _updateroots(self, phase, newroots):