~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-29 00:07:23 UTC
  • Revision ID: mbp@sourcefrog.net-20050329000723-680dfb37588d0981
check: make sure parent of file entries are present

Show diffs side-by-side

added added

removed removed

Lines of Context:
77
77
    seen_ids = Set()
78
78
    seen_names = Set()
79
79
 
 
80
    for file_id in inv:
 
81
        if file_id in seen_ids:
 
82
            bailout('duplicated file_id {%s} in inventory for revision {%s}'
 
83
                    % (file_id, revid))
 
84
        seen_ids.add(file_id)
 
85
        
 
86
    for file_id in inv:
 
87
        ie = inv[file_id]
 
88
        
 
89
        if ie.parent_id != None:
 
90
            if ie.parent_id not in seen_ids:
 
91
                bailout('missing parent {%s} in inventory for revision {%s}'
 
92
                        % (ie.parent_id, revid))
 
93
 
 
94
        if ie.kind == 'file':
 
95
            if not ie.text_id in branch.text_store:
 
96
                bailout('text {%s} not in text_store' % ie.text_id)
 
97
 
 
98
                
 
99
            
80
100
    for path, ie in inv.iter_entries():
81
101
        if path in seen_names:
82
102
            bailout('duplicated path %r in inventory for revision {%s}' % (path, revid))
83
103
        seen_names.add(path)
84
104
        
85
 
        if ie.file_id in seen_ids:
86
 
            bailout('duplicated file_id {%s} in inventory for revision {%s}'
87
 
                    % (ie.file_id, revid))
88
 
        seen_ids.add(ie.file_id)
89
 
            
90
 
        if ie.kind == 'file':
91
 
            if not ie.text_id in branch.text_store:
92
 
                bailout('text {%s} not in text_store' % ie.text_id)
93