~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/xml7.py

  • Committer: John Arbash Meinel
  • Date: 2009-12-03 04:55:02 UTC
  • mto: This revision was merged to the branch mainline in revision 4887.
  • Revision ID: john@arbash-meinel.com-20091203045502-uvhmg6b1yjbzzt8q
Change from being a per-serializer attribute to being a per-repo attribute.
This means we have some churn on *all* of the serializer apis, but it means
we *don't* have churn on all of the repository apis.

It makes it more thread-safe, since serializers are global instances.
Repositories aren't currently thread-safe anyway. (get_record_stream() specifically
is known not to be thread-safe on 2a format repos.)

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
    supported_kinds = set(['file', 'directory', 'symlink', 'tree-reference'])
29
29
    format_num = '7'
30
30
 
31
 
    def _unpack_entry(self, elt, entry_cache=None):
 
31
    def _unpack_entry(self, elt, entry_cache=None, return_from_cache=False):
32
32
        kind = elt.tag
33
33
        if not kind in self.supported_kinds:
34
34
            raise AssertionError('unsupported entry kind %s' % kind)
41
41
            return inventory.TreeReference(file_id, name, parent_id, revision,
42
42
                                           reference_revision)
43
43
        else:
44
 
            return xml6.Serializer_v6._unpack_entry(self, elt)
 
44
            return xml6.Serializer_v6._unpack_entry(self, elt,
 
45
                entry_cache=entry_cache, return_from_cache=return_from_cache)
45
46
 
46
47
serializer_v7 = Serializer_v7()