~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/revisiontree.py

[merge] bzr.dev 2255

Show diffs side-by-side

added added

removed removed

Lines of Context:
41
41
        self._repository = branch
42
42
        self._weave_store = branch.weave_store
43
43
        self._inventory = inv
44
 
        assert inv.root is not None
45
44
        self._revision_id = revision_id
46
45
 
47
46
    def get_parent_ids(self):
75
74
    def get_file(self, file_id):
76
75
        return StringIO(self.get_file_text(file_id))
77
76
 
 
77
    def annotate_iter(self, file_id):
 
78
        """See Tree.annotate_iter"""
 
79
        w = self.get_weave(file_id)
 
80
        return w.annotate_iter(self.inventory[file_id].revision)
 
81
 
78
82
    def get_file_size(self, file_id):
79
83
        return self._inventory[file_id].text_size
80
84
 
81
 
    def get_file_sha1(self, file_id, path=None):
 
85
    def get_file_sha1(self, file_id, path=None, stat_value=None):
82
86
        ie = self._inventory[file_id]
83
87
        if ie.kind == "file":
84
88
            return ie.text_sha1
101
105
    def list_files(self, include_root=False):
102
106
        # The only files returned by this are those from the version
103
107
        entries = self.inventory.iter_entries()
104
 
        if not include_root:
 
108
        # skip the root for compatability with the current apis.
 
109
        if self.inventory.root is not None and not include_root:
105
110
            # skip the root for compatability with the current apis.
106
111
            entries.next()
107
112
        for path, entry in entries:
114
119
    def kind(self, file_id):
115
120
        return self._inventory[file_id].kind
116
121
 
 
122
    def _comparison_data(self, entry, path):
 
123
        if entry is None:
 
124
            return None, False, None
 
125
        return entry.kind, entry.executable, None
 
126
 
 
127
    def _file_size(self, entry, stat_value):
 
128
        assert entry.text_size is not None
 
129
        return entry.text_size
 
130
 
117
131
    def lock_read(self):
118
132
        self._repository.lock_read()
119
133