Select all files by default in SourceTree's log view

Is that possible to select all files and show their diff when opening commit in log view in SourceTree. Cause it's rather strange, that only the first file is shown by default and if I want to see all diff - I need to manually select all files.

2 answers

1 accepted

0 votes
Answer accepted

The latest version (1.6.1) adds the option "Select all files when selecting commit" for this.

I'm glad it was added it, as it makes it easier to review a series of commits.

Cmd-A selects all files if you want to, but the first file is selected by default because that's generally a faster way of getting to what you want to see. When you have a lot of files modified, displaying the diff for all files takes longer so this default is better for a snappier UI, and is less cluttered when you're skipping around between files than a combined view.

Cmd-A is not an option, cause before that I need to switch to apropriate component (cause when I select commit, Cmd-A will select all commits). I think it would be better, if when there are not many files - select them all automatically, or load them when I scroll diff view...

2 tabs will take you to the file list from commits. I'll consider the other options but making this feel consistent may be tricky.

I understand the justification for snappy UI, but I think this is outweighed by the poor usability because when you click a commit you expect to see the full diff. It's very easy to miss the fact that there are more files. Also, showing the first file does not guarantee snappiness anyway because the first file may be a huge diff in its own right.

I also don't think showing the full diff below some threshold is a solution because inconsistency is the worst.

If you won't consider showing the full diff on commit selection, I would actually prefer that no diff be shown so that it's obvious you are not seeing the whole diff.

Having worked with both options I have to say the file-based one is snappier in almost every case - yes if the first file is massive and the others are small then this may not be the case, but that's a fairly rare edge case.

This is a subjective issue - I get just as many requests to show less information by default (to use fewer resources until further information is actually requested, and to minimise the time required to jump to file X in a large diff) as I do for showing everything by default. Showing nothing at all is not an improvement IMO.

The perfect solution would be a progressive load of the diff on scroll, a bit like the log view, with the ability to jump around too. That's actually pretty complex though (because you don't know in advance how big each diff is, jumping down into a progressively loaded, single-area diff without having to load *all* the preceding items is very tricky). I tinkered with this but never got it working as reliably as I wanted, hence this solution for the moment.

Fair enough, you've given it more thought than me and you have your opinion. I can get used to it. Now to search for discussion on a more painful issue (authored vs commit dates)...

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Oct 23, 2018 in Sourcetree

Tip from the team: configure your repos for hosting goodness!

Supported Platforms macOS Windows We recently introduced support for additional hosting services such as GitHub Enterprise, GitLab (Cloud, Community Edition, Enterprise Edition), and...

1,207 views 4 2
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you