~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/inventory.py

Move all features to bzrlib.tests.features in 2.5

Show diffs side-by-side

added added

removed removed

Lines of Context:
48
48
    )
49
49
 
50
50
from bzrlib.static_tuple import StaticTuple
 
51
from bzrlib.symbol_versioning import (
 
52
    deprecated_in,
 
53
    deprecated_method,
 
54
    )
51
55
 
52
56
 
53
57
class InventoryEntry(object):
100
104
    InventoryDirectory('2325', 'wibble', parent_id='123', revision=None)
101
105
    >>> i.path2id('src/wibble')
102
106
    '2325'
103
 
    >>> '2325' in i
104
 
    True
105
107
    >>> i.add(InventoryFile('2326', 'wibble.c', '2325'))
106
108
    InventoryFile('2326', 'wibble.c', parent_id='2325', sha1=None, len=None, revision=None)
107
109
    >>> i['2326']
170
172
        candidates = {}
171
173
        # identify candidate head revision ids.
172
174
        for inv in previous_inventories:
173
 
            if self.file_id in inv:
 
175
            if inv.has_id(self.file_id):
174
176
                ie = inv[self.file_id]
175
177
                if ie.revision in candidates:
176
178
                    # same revision value in two different inventories:
629
631
    inserted, other than through the Inventory API.
630
632
    """
631
633
 
 
634
    @deprecated_method(deprecated_in((2, 4, 0)))
632
635
    def __contains__(self, file_id):
633
636
        """True if this entry contains a file with given id.
634
637
 
635
638
        >>> inv = Inventory()
636
639
        >>> inv.add(InventoryFile('123', 'foo.c', ROOT_ID))
637
640
        InventoryFile('123', 'foo.c', parent_id='TREE_ROOT', sha1=None, len=None, revision=None)
638
 
        >>> '123' in inv
 
641
        >>> inv.has_id('123')
639
642
        True
640
 
        >>> '456' in inv
 
643
        >>> inv.has_id('456')
641
644
        False
642
645
 
643
646
        Note that this method along with __iter__ are not encouraged for use as
756
759
            if (not yield_parents and specific_file_ids is not None and
757
760
                len(specific_file_ids) == 1):
758
761
                file_id = list(specific_file_ids)[0]
759
 
                if file_id in self:
 
762
                if self.has_id(file_id):
760
763
                    yield self.id2path(file_id), self[file_id]
761
764
                return
762
765
            from_dir = self.root
772
775
            parents = set()
773
776
            byid = self
774
777
            def add_ancestors(file_id):
775
 
                if file_id not in byid:
 
778
                if not byid.has_id(file_id):
776
779
                    return
777
780
                parent_id = byid[file_id].parent_id
778
781
                if parent_id is None:
962
965
 
963
966
    >>> inv.path2id('hello.c')
964
967
    '123-123'
965
 
    >>> '123-123' in inv
 
968
    >>> inv.has_id('123-123')
966
969
    True
967
970
 
968
971
    There are iterators over the contents:
1231
1234
        >>> inv = Inventory()
1232
1235
        >>> inv.add(InventoryFile('123', 'foo.c', ROOT_ID))
1233
1236
        InventoryFile('123', 'foo.c', parent_id='TREE_ROOT', sha1=None, len=None, revision=None)
1234
 
        >>> '123' in inv
 
1237
        >>> inv.has_id('123')
1235
1238
        True
1236
1239
        >>> del inv['123']
1237
 
        >>> '123' in inv
 
1240
        >>> inv.has_id('123')
1238
1241
        False
1239
1242
        """
1240
1243
        ie = self[file_id]