~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/check.py

  • Committer: Martin Pool
  • Date: 2005-06-10 07:11:27 UTC
  • Revision ID: mbp@sourcefrog.net-20050610071127-e65db6ee8166c286
- remove calls to bailout() from check code

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
import sys
24
24
 
25
25
from trace import mutter
26
 
from errors import bailout
 
26
from bzrlib.errors import BzrCheckError
27
27
import osutils
28
28
 
29
29
def check(branch, progress=True):
58
58
        mutter('    revision {%s}' % rid)
59
59
        rev = branch.get_revision(rid)
60
60
        if rev.revision_id != rid:
61
 
            bailout('wrong internal revision id in revision {%s}' % rid)
 
61
            raise BzrCheckError('wrong internal revision id in revision {%s}' % rid)
62
62
        if rev.precursor != last_ptr:
63
 
            bailout('mismatched precursor in revision {%s}' % rid)
 
63
            raise BzrCheckError('mismatched precursor in revision {%s}' % rid)
64
64
        last_ptr = rid
65
65
        if rid in checked_revs:
66
 
            bailout('repeated revision {%s}' % rid)
 
66
            raise BzrCheckError('repeated revision {%s}' % rid)
67
67
        checked_revs[rid] = True
68
68
 
69
69
        ## TODO: Check all the required fields are present on the revision.
75
75
        p('revision %d/%d file ids' % (revno, revcount))
76
76
        for file_id in inv:
77
77
            if file_id in seen_ids:
78
 
                bailout('duplicated file_id {%s} in inventory for revision {%s}'
 
78
                raise BzrCheckError('duplicated file_id {%s} in inventory for revision {%s}'
79
79
                        % (file_id, rid))
80
80
            seen_ids[file_id] = True
81
81
 
90
90
 
91
91
            if ie.parent_id != None:
92
92
                if ie.parent_id not in seen_ids:
93
 
                    bailout('missing parent {%s} in inventory for revision {%s}'
 
93
                    raise BzrCheckError('missing parent {%s} in inventory for revision {%s}'
94
94
                            % (ie.parent_id, rid))
95
95
 
96
96
            if ie.kind == 'file':
98
98
                    fp = checked_texts[ie.text_id]
99
99
                else:
100
100
                    if not ie.text_id in branch.text_store:
101
 
                        bailout('text {%s} not in text_store' % ie.text_id)
 
101
                        raise BzrCheckError('text {%s} not in text_store' % ie.text_id)
102
102
 
103
103
                    tf = branch.text_store[ie.text_id]
104
104
                    fp = osutils.fingerprint_file(tf)
105
105
                    checked_texts[ie.text_id] = fp
106
106
 
107
107
                if ie.text_size != fp['size']:
108
 
                    bailout('text {%s} wrong size' % ie.text_id)
 
108
                    raise BzrCheckError('text {%s} wrong size' % ie.text_id)
109
109
                if ie.text_sha1 != fp['sha1']:
110
 
                    bailout('text {%s} wrong sha1' % ie.text_id)
 
110
                    raise BzrCheckError('text {%s} wrong sha1' % ie.text_id)
111
111
            elif ie.kind == 'directory':
112
112
                if ie.text_sha1 != None or ie.text_size != None or ie.text_id != None:
113
 
                    bailout('directory {%s} has text in revision {%s}'
 
113
                    raise BzrCheckError('directory {%s} has text in revision {%s}'
114
114
                            % (file_id, rid))
115
115
 
116
116
        p('revision %d/%d file paths' % (revno, revcount))
117
117
        for path, ie in inv.iter_entries():
118
118
            if path in seen_names:
119
 
                bailout('duplicated path %r in inventory for revision {%s}' % (path, revid))
 
119
                raise BzrCheckError('duplicated path %r in inventory for revision {%s}' % (path, revid))
120
120
            seen_names[path] = True
121
121
 
122
122