~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/xml5.py

  • Committer: Martin Pool
  • Date: 2005-09-15 06:35:58 UTC
  • Revision ID: mbp@sourcefrog.net-20050915063558-f3b5bae25543c922
- add assertion

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 
18
18
from bzrlib.xml import ElementTree, SubElement, Element, Serializer
19
19
from bzrlib.inventory import ROOT_ID, Inventory, InventoryEntry
20
 
from bzrlib.revision import Revision        
 
20
from bzrlib.revision import Revision, RevisionReference        
21
21
from bzrlib.errors import BzrError
22
22
 
23
23
 
53
53
        if ie.text_size != None:
54
54
            e.set('text_size', '%d' % ie.text_size)
55
55
 
56
 
        for f in ['text_version', 'text_sha1', 'name_version']:
 
56
        for f in ['text_version', 'text_sha1', 'entry_version']:
57
57
            v = getattr(ie, f)
58
58
            if v != None:
59
59
                e.set(f, v)
86
86
        msg.text = rev.message
87
87
        msg.tail = '\n'
88
88
 
89
 
        if rev.parent_ids:
 
89
        if rev.parents:
90
90
            pelts = SubElement(root, 'parents')
91
91
            pelts.tail = pelts.text = '\n'
92
 
            for parent_id in rev.parent_ids:
93
 
                assert isinstance(parent_id, basestring)
 
92
            for rr in rev.parents:
 
93
                assert isinstance(rr, RevisionReference)
94
94
                p = SubElement(pelts, 'revision_ref')
95
95
                p.tail = '\n'
96
 
                p.set('revision_id', parent_id)
 
96
                assert rr.revision_id
 
97
                p.set('revision_id', rr.revision_id)
 
98
 
97
99
        return root
98
100
 
99
101
    
114
116
 
115
117
    def _unpack_entry(self, elt):
116
118
        kind = elt.tag
117
 
        assert kind == 'directory' or kind == 'file', \
118
 
            'unsupported entry kind %s' % kind
 
119
        assert kind == 'directory' or kind == 'file'
119
120
 
120
121
        parent_id = elt.get('parent_id')
121
122
        if parent_id == None:
126
127
                            kind,
127
128
                            parent_id)
128
129
        ie.text_version = elt.get('text_version')
129
 
        ie.name_version = elt.get('name_version')
 
130
        ie.entry_version = elt.get('entry_version')
130
131
        ie.text_sha1 = elt.get('text_sha1')
131
132
        v = elt.get('text_size')
132
133
        ie.text_size = v and int(v)
148
149
        for p in parents:
149
150
            assert p.tag == 'revision_ref', \
150
151
                   "bad parent node tag %r" % p.tag
151
 
            rev.parent_ids.append(p.get('revision_id'))
 
152
            rev_ref = RevisionReference(p.get('revision_id'))
 
153
            rev.parents.append(rev_ref)
152
154
 
153
155
        v = elt.get('timezone')
154
156
        rev.timezone = v and int(v)