179
179
It fills out the internal self.revision_list with Revision
180
180
entries which should be in the changeset.
182
source = MultipleRevisionSources(self.target_branch, self.base_branch)
183
if self.starting_rev_id is None:
184
self.starting_rev_id = common_ancestor(self.target_rev_id,
185
self.base_rev_id, source)
187
rev_id_list = get_intervening_revisions(self.starting_rev_id,
188
self.target_rev_id, source, self.target_branch.revision_history())
190
self.revision_list = [source.get_revision(rid) for rid in rev_id_list]
182
# Performance, without locking here, a new lock is taken and
183
# broken for every revision (6k+ total locks for the bzr.dev tree)
184
self.target_branch.lock_read()
185
self.base_branch.lock_read()
187
source = MultipleRevisionSources(self.target_branch, self.base_branch)
188
if self.starting_rev_id is None:
189
self.starting_rev_id = common_ancestor(self.target_rev_id,
190
self.base_rev_id, source)
192
rev_id_list = get_intervening_revisions(self.starting_rev_id,
193
self.target_rev_id, source, self.target_branch.revision_history())
195
self.revision_list = [source.get_revision(rid) for rid in rev_id_list]
197
self.base_branch.unlock()
198
self.target_branch.unlock()
192
200
def _write(self, txt, key=None, encode=True, indent=1):
193
201
from common import encode as _encode