cola.controllers.compare – Compare commits

This controller handles the compare commits dialog.

class cola.controllers.compare.BranchCompareController(model, view)

Provides a dialog for comparing local and remote git branches

diff_files_doubleclick()
Shows the diff for a specific file
get_diff_arg(start, end)
Provides the ‘what’ part for ‘git diff [what]’
get_remote_ref(branch)
Returns the remote ref for ‘git diff [local] [remote]’
update_combo_boxes(left=False)

Update listwidgets from the combobox selection

Returns a closure to update either the left or right listwidgets to reflect the available items.

update_diff_files(*rest)
Updates the list of files whenever the selection changes
class cola.controllers.compare.CompareController(model, view, filename=None)

Drives the “Commit->Compare...” dialog.

compare_files_doubleclick(tree_item, column)
Compares a file when it is double-clicked
compare_selected_file()
Compares the currently selected file
get_distance_from_end(tree_widget)
Returns a (selected, end-index) tuple based on the selection
select_nth_item_from_end(tree_widget, delta)

Selects an item relative to the end of the treeitem list

We select from the end to properly handle changes in the number of displayed commits.

update_results(*args)
Updates the “changed files” list whenever selection changes
update_widgets(left=True)
Updates the list of available revisions for comparison
cola.controllers.compare.branch_compare(model, parent)
Launches a dialog for comparing a pair of branches
cola.controllers.compare.compare(model, parent, filename=None)
Launches a dialog for comparing a pair of commits
cola.controllers.compare.compare_file(model, parent)
Launches a dialog for comparing revisions touching a file path