~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/check.py

merge from mpool

Show diffs side-by-side

added added

removed removed

Lines of Context:
83
83
    TODO: Check for extra files in the control directory.
84
84
    """
85
85
    from bzrlib.trace import mutter
86
 
    from bzrlib.errors import BzrCheckError
 
86
    from bzrlib.errors import BzrCheckError, NoSuchRevision
87
87
    from bzrlib.osutils import fingerprint_file
88
88
    from bzrlib.inventory import ROOT_ID
89
89
    from bzrlib.branch import gen_root_id
95
95
 
96
96
        missing_inventory_sha_cnt = 0
97
97
        missing_revision_sha_cnt = 0
 
98
        missing_revision_cnt = 0
98
99
 
99
100
        history = branch.revision_history()
100
101
        revno = 0
134
135
                        missing_revision_sha_cnt += 1
135
136
                        continue
136
137
                    prid = prr.revision_id
137
 
                    actual_sha = branch.get_revision_sha1(prid)
 
138
                    
 
139
                    try:
 
140
                        actual_sha = branch.get_revision_sha1(prid)
 
141
                    except NoSuchRevision:
 
142
                        missing_revision_cnt += 1
 
143
                        mutter("parent {%s} of {%s} not present in store",
 
144
                               prid, rev_id)
 
145
                        continue
 
146
                        
138
147
                    if prr.revision_sha1 != actual_sha:
139
148
                        raise BzrCheckError("mismatched revision sha1 for "
140
149
                                            "parent {%s} of {%s}: %s vs %s"
226
235
    if missing_revision_sha_cnt:
227
236
        print '%d parent links are missing revision_sha1' % missing_revision_sha_cnt
228
237
 
 
238
    if missing_revision_cnt:
 
239
        print '%d revisions are mentioned but not present' % missing_revision_cnt
 
240
 
229
241
    # stub this out for now because the main bzr branch has references
230
242
    # to revisions that aren't present in the store -- mbp 20050804
231
243
#    if (missing_inventory_sha_cnt