/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to versionedfiles.py

  • Committer: Jelmer Vernooij
  • Date: 2009-03-14 18:17:35 UTC
  • mto: (0.436.139 foreign)
  • mto: This revision was merged to the branch mainline in revision 6960.
  • Revision ID: jelmer@samba.org-20090314181735-i2u2gb2lv6iyy2no
Add keys to virtual VersionedFiles.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005-2007 Jelmer Vernooij <jelmer@samba.org>
 
1
# Copyright (C) 2005-2009 Jelmer Vernooij <jelmer@samba.org>
2
2
 
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
16
16
from bzrlib import osutils
17
17
from bzrlib.versionedfile import VirtualVersionedFiles
18
18
 
 
19
from bzrlib.errors import NoSuchRevision
 
20
 
19
21
 
20
22
class VirtualRevisionTexts(VirtualVersionedFiles):
21
23
    """Virtual revisions backend."""
24
26
        super(VirtualRevisionTexts, self).__init__(self.repository._make_parents_provider().get_parent_map, self.get_lines)
25
27
 
26
28
    def get_lines(self, key):
27
 
        return osutils.split_lines(self.repository.get_revision_xml(key))
28
 
 
29
 
    # TODO: annotate, iter_lines_added_or_present_in_keys, keys
 
29
        try:
 
30
            return osutils.split_lines(self.repository.get_revision_xml(key))
 
31
        except NoSuchRevision:
 
32
            return None
 
33
 
 
34
    # TODO: annotate
 
35
 
 
36
    def keys(self):
 
37
        return self.repository.all_revision_ids()
30
38
 
31
39
 
32
40
class VirtualInventoryTexts(VirtualVersionedFiles):
36
44
        super(VirtualInventoryTexts, self).__init__(self.repository._make_parents_provider().get_parent_map, self.get_lines)
37
45
 
38
46
    def get_lines(self, key):
39
 
        return osutils.split_lines(self.repository.get_inventory_xml(key))
40
 
 
41
 
    # TODO: annotate, iter_lines_added_or_present_in_keys, keys
 
47
        try:
 
48
            return osutils.split_lines(self.repository.get_inventory_xml(key))
 
49
        except NoSuchRevision:
 
50
            return None
 
51
 
 
52
    def keys(self):
 
53
        return self.repository.all_revision_ids()
 
54
 
 
55
    # TODO: annotate
42
56
 
43
57
 
44
58
class VirtualSignatureTexts(VirtualVersionedFiles):
48
62
        super(VirtualSignatureTexts, self).__init__(self.repository._make_parents_provider().get_parent_map, self.get_lines)
49
63
 
50
64
    def get_lines(self, key):
51
 
        return osutils.split_lines(self.repository.get_signature_text(key))
52
 
 
53
 
    # TODO: annotate, iter_lines_added_or_present_in_keys, keys
 
65
        try:
 
66
            return osutils.split_lines(self.repository.get_signature_text(key))
 
67
        except NoSuchRevision:
 
68
            return None
 
69
 
 
70
    def keys(self):
 
71
        return self.repository.all_revision_ids()
 
72
 
 
73
    # TODO: annotate
54
74