~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tree.py

[merge] jam-integration 1490

Show diffs side-by-side

added added

removed removed

Lines of Context:
116
116
           or at least passing a description to the constructor.
117
117
    """
118
118
    
119
 
    def __init__(self, weave_store, inv, revision_id):
120
 
        self._weave_store = weave_store
 
119
    def __init__(self, branch, inv, revision_id):
 
120
        self._branch = branch
 
121
        self._weave_store = branch.weave_store
121
122
        self._inventory = inv
122
123
        self._revision_id = revision_id
123
124
 
126
127
        return self._revision_id
127
128
 
128
129
    def get_weave(self, file_id):
129
 
        # FIXME: RevisionTree should be given a branch
130
 
        # not a store, or the store should know the branch.
131
130
        import bzrlib.transactions as transactions
132
131
        return self._weave_store.get_weave(file_id,
133
 
            transactions.PassThroughTransaction())
 
132
                self._branch.get_transaction())
134
133
 
 
134
    def get_weave_prelude(self, file_id):
 
135
        import bzrlib.transactions as transactions
 
136
        return self._weave_store.get_weave_prelude(file_id,
 
137
                self._branch.get_transaction())
135
138
 
136
139
    def get_file_lines(self, file_id):
137
140
        ie = self._inventory[file_id]
138
141
        weave = self.get_weave(file_id)
139
142
        return weave.get(ie.revision)
140
 
        
141
143
 
142
144
    def get_file_text(self, file_id):
143
145
        return ''.join(self.get_file_lines(file_id))
144
146
 
145
 
 
146
147
    def get_file(self, file_id):
147
148
        return StringIO(self.get_file_text(file_id))
148
149