Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Selecting toplevel items in StatusTreeWidget invokes external diff if set #163
Setting diff.external in git config causes the external diff tool to be invoked when an item like "Staged" or "Modified" is selected in the Status view.
If a graphical tool (such as beyond compare) is set as the external diff, clicking on the sections has the effect of grinding the git-cola gui to a halt, while the external tool is successively invoked for each file under the section. If there are numerous files under the selected section, git-cola is as good as dead, and killing the app then restarting it is just faster than having to wait for each window to open and close.
Un-setting diff.external works around the issue and the Diff view shows a diffstat followed by a full text diff of all files under the selected section.
Presumably, a "--no-ext-diff" is missing somewhere. I am a C++ Qt developer but completely unfamiliar with Python. I've mined the code in vain looking for how to fix this. Any clues, I'd be more than happy to test any fixes.