Your comments

You should be able to check out every file in every repository state by selecting the commit in the Log, right-clicking the file and selecting Save As.

You can create a wrapper batch file (as diff tool) that simply passes just one (the second) parameter to the tool of your choice.

I agree with you - this update process is bad. Unfortunately, from the technical side I don't know of a better way. The problem is not solely with SmartGit but also by Mercurial's website and incompatible changes of their API.

What exactly you'd expect SmartGit to do? To open the file existing in your working tree, switching to the selected commit and then open the file existing in your working tree, create a temporary clone of the whole repository and invoke it from there or simply create a copy of the selected file in a temporary directory and invoke the tool?

You already can configure the accelerators in Edit | Customize.

The file in the main window are actually files. The entries you see in the Log are historic files - they may have different content locally, be moved or renamed, or deleted. IMHO it makes no(t much) sense to show it in the Log's Files view.

Do you mean the text of the merge commit? Of course, this would be possible, but what problem would this solve?

"Nicer" seems odd. More compact, yes, but nicer? For example, syntax highlighting will not be possible in the unified diff.

Could you please explain what makes the coloring in GitKraken more useful than in SmartGit or other Git clients?

Of course, when committing there usually is a current branch, but the branch can be set to a different commit or deleted later. The commit itself does not know anything about "its" creating branch.


The colored lines are just there to make reading the graph easier for you, especially if line are crossing. Should we all show in black-white?