~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/check.py

  • Committer: Robert Collins
  • Date: 2005-09-06 11:09:03 UTC
  • mfrom: (1178)
  • mto: (1185.1.10) (1092.3.1)
  • mto: This revision was merged to the branch mainline in revision 1390.
  • Revision ID: robertc@robertcollins.net-20050906110903-b6be7bd6102403cb
really merge mpool

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17
17
 
18
18
import bzrlib.ui
 
19
from bzrlib.trace import note, warning
19
20
 
20
21
def _update_store_entry(obj, obj_id, branch, store_name, store):
21
22
    """This is just a meta-function, which handles both revision entries
83
84
    TODO: Check for extra files in the control directory.
84
85
    """
85
86
    from bzrlib.trace import mutter
86
 
    from bzrlib.errors import BzrCheckError
 
87
    from bzrlib.errors import BzrCheckError, NoSuchRevision
87
88
    from bzrlib.osutils import fingerprint_file
88
89
    from bzrlib.inventory import ROOT_ID
89
90
    from bzrlib.branch import gen_root_id
95
96
 
96
97
        missing_inventory_sha_cnt = 0
97
98
        missing_revision_sha_cnt = 0
 
99
        missing_revision_cnt = 0
98
100
 
99
101
        history = branch.revision_history()
100
102
        revno = 0
134
136
                        missing_revision_sha_cnt += 1
135
137
                        continue
136
138
                    prid = prr.revision_id
137
 
                    actual_sha = branch.get_revision_sha1(prid)
 
139
                    
 
140
                    try:
 
141
                        actual_sha = branch.get_revision_sha1(prid)
 
142
                    except NoSuchRevision:
 
143
                        missing_revision_cnt += 1
 
144
                        mutter("parent {%s} of {%s} not present in store",
 
145
                               prid, rev_id)
 
146
                        continue
 
147
                        
138
148
                    if prr.revision_sha1 != actual_sha:
139
149
                        raise BzrCheckError("mismatched revision sha1 for "
140
150
                                            "parent {%s} of {%s}: %s vs %s"
218
228
 
219
229
    progress.clear()
220
230
 
221
 
    print 'checked %d revisions, %d file texts' % (revcount, len(checked_texts))
 
231
    note('checked %d revisions, %d file texts' % (revcount, len(checked_texts)))
222
232
    
223
233
    if missing_inventory_sha_cnt:
224
 
        print '%d revisions are missing inventory_sha1' % missing_inventory_sha_cnt
 
234
        note('%d revisions are missing inventory_sha1' % missing_inventory_sha_cnt)
225
235
 
226
236
    if missing_revision_sha_cnt:
227
 
        print '%d parent links are missing revision_sha1' % missing_revision_sha_cnt
 
237
        note('%d parent links are missing revision_sha1' % missing_revision_sha_cnt)
 
238
 
 
239
    if missing_revision_cnt:
 
240
        note('%d revisions are mentioned but not present' % missing_revision_cnt)
 
241
 
 
242
    if missing_revision_cnt:
 
243
        print '%d revisions are mentioned but not present' % missing_revision_cnt
228
244
 
229
245
    # stub this out for now because the main bzr branch has references
230
246
    # to revisions that aren't present in the store -- mbp 20050804
233
249
#        print '  (use "bzr upgrade" to fix them)'
234
250
 
235
251
    if mismatch_inv_id:
236
 
        print '%d revisions have mismatched inventory ids:' % len(mismatch_inv_id)
 
252
        warning('%d revisions have mismatched inventory ids:' % len(mismatch_inv_id))
237
253
        for rev_id in mismatch_inv_id:
238
 
            print '  ', rev_id
 
254
            warning('  %s', rev_id)