248
def diff_helper(tree, specific_files, external_diff_options,
249
old_revision_spec=None, new_revision_spec=None,
250
old_label='a/', new_label='b/', output=None):
253
:param tree: a WorkingTree
255
:param specific_files: the specific files to compare, or None
257
:param external_diff_options: if non-None, run an external diff, and pass it these options
259
:param old_revision_spec: if None, use basis tree as old revision, otherwise use the tree for the specified revision.
261
:param new_revision_spec: if None, use working tree as new revision, otherwise use the tree for the specified revision.
265
from bzrlib.diff import show_diff_trees
271
revision_id = spec.in_store(tree.branch).rev_id
272
return tree.branch.repository.revision_tree(revision_id)
273
if old_revision_spec is None:
274
old_tree = tree.basis_tree()
276
old_tree = spec_tree(old_revision_spec)
278
if new_revision_spec is None:
281
new_tree = spec_tree(new_revision_spec)
283
return show_diff_trees(old_tree, new_tree, output, specific_files,
284
external_diff_options,
285
old_label=old_label, new_label=new_label)