~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/reconcile.py

Partial refactoring of pack_repo to create a Packer object for packing.

Show diffs side-by-side

added added

removed removed

Lines of Context:
467
467
 
468
468
    def _reconcile_steps(self):
469
469
        """Perform the steps to reconcile this repository."""
 
470
        if not self.thorough:
 
471
            return
 
472
        self.repo.lock_write()
 
473
        try:
 
474
            self.repo._pack_collection.ensure_loaded()
 
475
            self.repo._pack_collection.lock_names()
 
476
            try:
 
477
                self.repo.start_write_group()
 
478
                try:
 
479
                    self._new_pack = self.repo._pack_collection._new_pack
 
480
                    self._copy_revisions()
 
481
                except:
 
482
                    self.repo.abort_write_group()
 
483
                    raise
 
484
                else:
 
485
                    self.repo.commit_write_group()
 
486
            finally:
 
487
                self.repo._pack_collection._unlock_names()
 
488
        finally:
 
489
            self.repo.unlock()
 
490
 
 
491
    def _copy_revisions(self):
 
492
        """Copy revisions, regenerating the index as we go."""
 
493
 
 
494
    def _pack_correcting_data(self):
 
495
        """Perform a total pack, regenerating as much data as possible."""
 
496
        revisions = self.repo.all_revision_ids()