Merge lp:~jameinel/bzr/1.16-abort-resume-aborts-start into lp:~bzr/bzr/trunk-old

Proposed by John A Meinel
Status: Merged
Merged at revision: not available
Proposed branch: lp:~jameinel/bzr/1.16-abort-resume-aborts-start
Merge into: lp:~bzr/bzr/trunk-old
Diff against target: 15 lines
To merge this branch: bzr merge lp:~jameinel/bzr/1.16-abort-resume-aborts-start
Reviewer Review Type Date Requested Status
Andrew Bennetts Approve
Review via email: mp+6949@code.launchpad.net
To post a comment you must log in.
Revision history for this message
John A Meinel (jameinel) wrote :

This gives a cleaner test suite run on Windows.

Basically, Repository.resume_write_group() internally _starts_write_group() and then resumes the given tokens.

However, tokens can fail to be resumed, which leaves things in an intermediate state. Namely, the _start_write_group finished, but wasn't aborted. Which leaves open the NewPack.

I don't know if this ever matters in practice, but at least on Windows it causes
    def test_cannot_resume_aborted_write_group(self):

To give cleanup stipple because we can't cleanup the working dir because of the open file handle.

Revision history for this message
Andrew Bennetts (spiv) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'bzrlib/repofmt/pack_repo.py'
--- bzrlib/repofmt/pack_repo.py 2009-06-03 21:28:52 +0000
+++ bzrlib/repofmt/pack_repo.py 2009-06-05 02:36:05 +0000
@@ -2289,7 +2289,11 @@
22892289
2290 def _resume_write_group(self, tokens):2290 def _resume_write_group(self, tokens):
2291 self._start_write_group()2291 self._start_write_group()
2292 self._pack_collection._resume_write_group(tokens)2292 try:
2293 self._pack_collection._resume_write_group(tokens)
2294 except errors.UnresumableWriteGroup:
2295 self._abort_write_group()
2296 raise
2293 for pack in self._pack_collection._resumed_packs:2297 for pack in self._pack_collection._resumed_packs:
2294 self.revisions._index.scan_unvalidated_index(pack.revision_index)2298 self.revisions._index.scan_unvalidated_index(pack.revision_index)
22952299