180
180
trees = (self.this_basis_tree, self.other_tree)
181
181
return [get_id(tree, file_id) for tree in trees]
183
def merge_factory(self, file_id, base, other):
184
if self.merge_type.history_based:
185
if self.show_base is True:
186
raise BzrError("Cannot show base for hisory-based merges")
187
if self.reprocess is True:
188
raise BzrError("Cannot reprocess history-based merges")
190
t_revid, o_revid = self.file_revisions(file_id)
191
weave = self.this_basis_tree.get_weave(file_id)
192
contents_change = self.merge_type(weave, t_revid, o_revid)
194
if self.show_base is True or self.reprocess is True:
195
contents_change = self.merge_type(file_id, base, other,
196
show_base=self.show_base,
197
reprocess=self.reprocess)
199
contents_change = self.merge_type(file_id, base, other)
200
if self.backup_files:
201
contents_change = BackupBeforeChange(contents_change)
202
return contents_change
204
183
def check_basis(self, check_clean):
205
184
if self.this_basis is None:
206
185
raise BzrCommandError("This branch has no commits")