Allow to collapse unchanged blocks of code in diff view

Krzysztof Kot 7 years ago updated by Thomas Singer 6 years ago 23

Tool that I'm currently using allow this and it saves me a lot of scrolling so for me it would be nice feature.

Image 20

This would require a whole rewrite of the current compare controls.

Maybe allowing to switch to textual diff would be an option. I would like to have quick overview of my changes.


SourceTree has this kind of diff display and it's pretty nice !


it is very usefull when you are going to commit code and review it

Is it not just as easy to use the scroll wheel on the middle column to jump to the changes?
I find it very annoying on GitHub where I have to keep expanding those stupid collapsed code parts.. Annoying as hell.


Each developper might have its context...

For me, the git client is here to help, the main work happens in my IDE. So I expect the diff tool in SmartGit to see quickly differences, not display the whole code...


Maybe I'm missing something but Next/Prev buttons do the job for me. Why someone have to *scroll*?

Personally I prefer full text compare tool and never use collapsing in IDE editor too. :)

Here is what you're getting in SmartGit, one file with a corresponding diff window on the whole file :

And here is what is displayed in SourceTree, same commit : one little diff per hunk modified. Very convenient to see all modifications made to a file very quickly, and plus it allows very easily to stage hunk by hunk (which is possible in SmartGit but in my opinion far too complex, and lacks A LOT clarity - but that is a different subject) :


Just do not show me SourceTree - I dislike its UI. Sorry. :)


@Alexander the scroll in the middle of the columns is exactly the same as pressing next/prev.. you do not scroll line by line, but diffs. It's very handy.

Thanks Colin, I did not know about scroll in the middle of columns it is very nice feature.

Thanks! I did not know about it too.


A first implementation of the (optional) compact presentation looks like this:

It means:

  • no syntax coloring
  • no ability to apply changes in the repository's Changes view

The 17.1 preview intermediate build 11081 (Help | Check for Latest Build) let's you play with that feature. You can active it from the Changes menu, the option is named "Compact Changes Display".

I've just picked this version but don't see this new compact view in the diff view ? Can't find any option in the GUI, is there something to add to smartgit.properties ?

+1 for implementing this. However, I too cannot figure out how to enable this option. I've checked the 5 different settings dialogs that I know about but didn't see anything obvious.

Maybe it's a hidden config setting not accessible via UI?


Found it -- "Compact Change Display" in the Changes menu, starting in version 17.1 preview 10.

Oh, it seems it's only visible on the Main Window.. I have the "Changes Panel" turned off there.. I only see changes via the Log window, where that option is not available..

No wonder I couldn't find it.

I see the option available in the "Changes" menu of both the Log window and the Changes window

Sorry, My bad,. Not `log` window.. the `File Compare` window..

The compact view option only is available for read-only Changes views. The File Compare is designed to be freely editable.

@Thomas, Any chance of the collapse being implemented also in the review, where we do the stage hunk?


(Don't know what you mean with "in the review)

For 17.1 the Changes-view in compact mode will remain read-only. The staging/unstaging requires large changes.