/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-02-08 19:20:14 UTC
  • mto: (0.436.139 foreign)
  • mto: This revision was merged to the branch mainline in revision 6960.
  • Revision ID: jelmer@samba.org-20090208192014-0g17picqdx7edl92
Import foreign-mapping-upgrade command, fixes for bzr-svn.

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))
 
29
        try:
 
30
            return osutils.split_lines(self.repository.get_revision_xml(key))
 
31
        except NoSuchRevision:
 
32
            return None
28
33
 
29
 
    # TODO: annotate, iter_lines_added_or_present_in_keys, keys
 
34
    # TODO: annotate, keys
30
35
 
31
36
 
32
37
class VirtualInventoryTexts(VirtualVersionedFiles):
36
41
        super(VirtualInventoryTexts, self).__init__(self.repository._make_parents_provider().get_parent_map, self.get_lines)
37
42
 
38
43
    def get_lines(self, key):
39
 
        return osutils.split_lines(self.repository.get_inventory_xml(key))
 
44
        try:
 
45
            return osutils.split_lines(self.repository.get_inventory_xml(key))
 
46
        except NoSuchRevision:
 
47
            return None
40
48
 
41
 
    # TODO: annotate, iter_lines_added_or_present_in_keys, keys
 
49
    # TODO: annotate, keys
42
50
 
43
51
 
44
52
class VirtualSignatureTexts(VirtualVersionedFiles):
48
56
        super(VirtualSignatureTexts, self).__init__(self.repository._make_parents_provider().get_parent_map, self.get_lines)
49
57
 
50
58
    def get_lines(self, key):
51
 
        return osutils.split_lines(self.repository.get_signature_text(key))
 
59
        try:
 
60
            return osutils.split_lines(self.repository.get_signature_text(key))
 
61
        except NoSuchRevision:
 
62
            return None
52
63
 
53
 
    # TODO: annotate, iter_lines_added_or_present_in_keys, keys
 
64
    # TODO: annotate, keys
54
65