~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/repository.py

  • Committer: John Arbash Meinel
  • Date: 2009-05-27 15:39:12 UTC
  • mto: This revision was merged to the branch mainline in revision 4392.
  • Revision ID: john@arbash-meinel.com-20090527153912-rmlhgzxx12zqw33e
Add tests that when resuming a write group, we start checking if
there are missing texts, in order to determine if there are missing inventories.

Show diffs side-by-side

added added

removed removed

Lines of Context:
4010
4010
        try:
4011
4011
            if resume_tokens:
4012
4012
                self.target_repo.resume_write_group(resume_tokens)
 
4013
                is_resume = True
4013
4014
            else:
4014
4015
                self.target_repo.start_write_group()
 
4016
                is_resume = False
4015
4017
            try:
4016
4018
                # locked_insert_stream performs a commit|suspend.
4017
 
                return self._locked_insert_stream(stream, src_format)
 
4019
                return self._locked_insert_stream(stream, src_format, is_resume)
4018
4020
            except:
4019
4021
                self.target_repo.abort_write_group(suppress_errors=True)
4020
4022
                raise
4021
4023
        finally:
4022
4024
            self.target_repo.unlock()
4023
4025
 
4024
 
    def _locked_insert_stream(self, stream, src_format):
 
4026
    def _locked_insert_stream(self, stream, src_format, is_resume):
4025
4027
        to_serializer = self.target_repo._format._serializer
4026
4028
        src_serializer = src_format._serializer
4027
4029
        new_pack = None
4077
4079
        if new_pack is not None:
4078
4080
            new_pack._write_data('', flush=True)
4079
4081
        # Find all the new revisions (including ones from resume_tokens)
4080
 
        missing_keys = self.target_repo.get_missing_parent_inventories()
 
4082
        missing_keys = self.target_repo.get_missing_parent_inventories(
 
4083
            check_for_missing_texts=is_resume)
4081
4084
        try:
4082
4085
            for prefix, versioned_file in (
4083
4086
                ('texts', self.target_repo.texts),