def line_diff(self, tv, path, tvc): row = path[0] revision = self.annotations[row] repository = self.branch.repository if revision.revision_id == CURRENT_REVISION: tree1 = self.tree tree2 = self.tree.basis_tree() else: tree1 = repository.revision_tree(revision.revision_id) if len(revision.parent_ids) > 0: tree2 = repository.revision_tree(revision.parent_ids[0]) else: tree2 = repository.revision_tree(NULL_REVISION) from bzrlib.plugins.gtk.diff import DiffWindow window = DiffWindow(self) window.set_diff("Diff for line %d" % (row+1), tree1, tree2) window.set_file(tree1.id2path(self.file_id)) window.show()