~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/check.py

  • Committer: Martin Pool
  • Date: 2006-03-20 22:32:41 UTC
  • mto: This revision was merged to the branch mainline in revision 1621.
  • Revision ID: mbp@sourcefrog.net-20060320223241-95ba66352fd77026
Cleanup and document some check code

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2004, 2005 by Martin Pool
2
 
# Copyright (C) 2005 by Canonical Ltd
 
1
# Copyright (C) 2005, 2006 by Canonical Ltd
3
2
 
4
3
# This program is free software; you can redistribute it and/or modify
5
4
# it under the terms of the GNU General Public License as published by
28
27
# TODO: Get every revision in the revision-store even if they're not
29
28
# referenced by history and make sure they're all valid.
30
29
 
 
30
# TODO: Perhaps have a way to record errors other than by raising exceptions;
 
31
# would perhaps be enough to accumulate exception objects in a list without
 
32
# raising them.  If there's more than one exception it'd be good to see them
 
33
# all.
 
34
 
31
35
import bzrlib.ui
32
36
from bzrlib.trace import note, warning
33
37
from bzrlib.osutils import rename, sha_string, fingerprint_file
39
43
class Check(object):
40
44
    """Check a branch"""
41
45
 
 
46
    # The Check object interacts with InventoryEntry.check, etc.
 
47
 
42
48
    def __init__(self, branch):
43
49
        self.branch = branch
44
50
        self.repository = branch.repository
49
55
        self.missing_parent_links = {}
50
56
        self.missing_inventory_sha_cnt = 0
51
57
        self.missing_revision_cnt = 0
52
 
        # maps (file-id, version) -> sha1
 
58
        # maps (file-id, version) -> sha1; used by InventoryFile._check
53
59
        self.checked_texts = {}
54
60
        self.checked_weaves = {}
55
61