~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/identitymap.py

  • Committer: Robert Collins
  • Date: 2005-10-09 23:12:35 UTC
  • Revision ID: robertc@robertcollins.net-20051009231235-93626e72cac71b78
clean up test dirs on make clean

Show diffs side-by-side

added added

removed removed

Lines of Context:
29
29
    that is store in the map. Look for find_CLASS and add_CLASS methods.
30
30
    """
31
31
 
32
 
    def add_revision_history(self, revision_history):
33
 
        """Add a revision_history object to the map.
34
 
 
35
 
        There can only be one!
36
 
        """
37
 
        if self._revision_history is not None:
38
 
            raise errors.BzrError("A revision history (%s) is already "
39
 
                                  "identity map" % self._revision_history)
40
 
        self._revision_history = revision_history
41
 
 
42
32
    def add_weave(self, id, weave):
43
33
        """Add weave to the map with a given id."""
44
34
        if self._weave_key(id) in self._map:
45
35
            raise errors.BzrError('weave %s already in the identity map' % id)
46
36
        self._map[self._weave_key(id)] = weave
47
 
        self._reverse_map[weave] = self._weave_key(id)
48
 
 
49
 
    def find_revision_history(self):
50
 
        return self._revision_history
51
37
 
52
38
    def find_weave(self, id):
53
39
        """Return the weave for 'id', or None if it is not present."""
56
42
    def __init__(self):
57
43
        super(IdentityMap, self).__init__()
58
44
        self._map = {}
59
 
        self._reverse_map = {}
60
 
        self._revision_history = None
61
 
 
62
 
    def remove_object(self, an_object):
63
 
        """Remove object from map."""
64
 
        if isinstance(an_object, list):
65
 
            if self._revision_history is an_object:
66
 
                self._revision_history = None
67
 
            else:
68
 
                raise KeyError('%r not in identity map' % an_object)
69
 
        else:
70
 
            self._map.pop(self._reverse_map[an_object])
71
 
            self._reverse_map.pop(an_object)
72
45
 
73
46
    def _weave_key(self, id):
74
47
        """Return the key for a weaves id."""
84
57
    def add_weave(self, id, weave):
85
58
        """See IdentityMap.add_weave."""
86
59
 
87
 
    def add_revision_history(self, revision_history):
88
 
        """See IdentityMap.add_revision_history."""
89
 
 
90
60
    def find_weave(self, id):
91
61
        """See IdentityMap.find_weave."""
92
62
        return None
93
63
 
94
 
    def find_revision_history(self):
95
 
        """See IdentityMap.find_revision_history."""