~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/check.py

  • Committer: mbp at sourcefrog
  • Date: 2005-03-28 04:08:13 UTC
  • Revision ID: mbp@sourcefrog.net-20050328040812-f6852e38fba0ad5f
- reactivate basic check command

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
######################################################################
21
21
# consistency checks
22
22
 
23
 
def check():
24
 
    """check: Consistency check of branch history.
25
 
 
26
 
usage: bzr check [-v] [BRANCH]
27
 
 
28
 
options:
29
 
  --verbose, -v         Show progress of checking.
30
 
 
31
 
This command checks various invariants about the branch storage to
32
 
detect data corruption or bzr bugs.
33
 
"""
34
 
    assert_in_tree()
35
 
    mutter("checking tree")
36
 
    check_patches_exist()
37
 
    check_patch_chaining()
38
 
    check_patch_uniqueness()
39
 
    check_inventory()
40
 
    mutter("tree looks OK")
 
23
 
 
24
import bzrlib
 
25
 
 
26
 
 
27
def _ass(a, b):
 
28
    if a != b:
 
29
        bzrlib.errors.bailout("check failed: %r != %r" % (a, b))
 
30
 
 
31
def check(branch, verbose=True):
 
32
    print 'checking tree %r' % branch.base
 
33
 
 
34
    print 'checking entire revision history is present'
 
35
    last_ptr = None
 
36
    for rid in branch.revision_history():
 
37
        print '    revision {%s}' % rid
 
38
        rev = branch.get_revision(rid)
 
39
        _ass(rev.revision_id, rid)
 
40
        _ass(rev.precursor, last_ptr)
 
41
        last_ptr = rid
 
42
 
 
43
    #mutter("checking tree")
 
44
    #check_patches_exist()
 
45
    #check_patch_chaining()
 
46
    #check_patch_uniqueness()
 
47
    #check_inventory()
 
48
    print ("tree looks OK")
41
49
    ## TODO: Check that previous-inventory and previous-manifest
42
50
    ## are the same as those stored in the previous changeset.
43
51