~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/check.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2007-10-24 07:28:00 UTC
  • mfrom: (2929.1.2 workingtree)
  • Revision ID: pqm@pqm.ubuntu.com-20071024072800-p2qtv2632xrbrs02
(robertc) Use a dictionary to obtain stat caches rather than digging into the dirstate on every path. (Robert Collins)

Show diffs side-by-side

added added

removed removed

Lines of Context:
60
60
            self.repository)
61
61
        self.unreferenced_ancestors = set()
62
62
        self.inconsistent_parents = []
63
 
        self.dangling_versions = set()
64
63
 
65
64
    def check(self):
66
65
        self.repository.lock_read()
157
156
                        '       %s has wrong parents in index: '
158
157
                        '%r should be %r',
159
158
                        revision_id, index_parents, actual_parents)
160
 
        if self.dangling_versions:
161
 
            note('%6d file versions are not referenced by their inventory',
162
 
                 len(self.dangling_versions))
163
159
 
164
160
    def check_one_rev(self, rev_id):
165
161
        """Check one revision.
218
214
            weave_checker = self.repository.get_versioned_file_checker(
219
215
                self.planned_revisions, self.revision_versions)
220
216
            result = weave_checker.check_file_version_parents(w, weave_id)
221
 
            bad_parents, dangling_versions = result
222
 
            bad_parents = bad_parents.items()
223
 
            for revision_id, (weave_parents,correct_parents) in bad_parents:
 
217
 
 
218
            for revision_id, (weave_parents,correct_parents) in result.items():
224
219
                self.inconsistent_parents.append(
225
220
                    (revision_id, weave_id, weave_parents, correct_parents))
226
 
                if weave_parents is None:
227
 
                    weave_parents = []
228
221
                unreferenced_parents = set(weave_parents)-set(correct_parents)
229
222
                for unreferenced_parent in unreferenced_parents:
230
223
                    self.unreferenced_ancestors.add(
231
224
                        (weave_id, unreferenced_parent))
232
 
            self.dangling_versions.update(dangling_versions)
233
225
            self.checked_weaves[weave_id] = True
234
226
 
235
227
    def _check_revision_tree(self, rev_id):