SourceTree equivalent of git diff master...feature

Hi,

I love the SourceTree diff UI but I need to diff the common ancestor of two branches. In git, the command for this is:

git diff master...feature

Where 'feature' is some feature branch head. Note the triple-dot notation. This means that you want not the difference between the heads of "master" and "feature" but the difference between the common ancestor of "master" and "feature" and the head of "feature".

Is there a way to do this?

Thanks

--Erik

1 answer

1 accepted

This widget could not be displayed.

In SourceTree you can diff any 2 points in history just by Cmd-clicking to select two commit lines in the log view - the differences between those 2 commits, wherever they are, is then displayed. So that includes diffing the common ancestor and the head of the feature branch. However, right now you have to find this common anscestor in the log yourself, there's no automated selection of it.

Thanks, I didn't realize you can cmd-click to diff two commits. I noticed it also displays diff output when more than two are selected-- what exactly is it showing?

It shows the difference between the outermost selected rows. This is just for convenience in case you use Shift-click instead of Cmd-click.

Steve, thanks a lot for all the help. Sorry, there's one last thing I've never understood. When you click on a single commit, obviously it's showing the diff between that commit and its parent. But when the commit is a merge commit, there are two parents. So what does it display then? (I suppose this is more of a fundamental git question than SourceTree...)

At the top of the diff pane in the log view is a pop-up list which says 'Diff Parent' by default. When you select a merge commit, selecting 'Diff Merged' there instead will display the differences to the merged commit rather than the first parent.

In gitk, I can ask between the difference between any two commits - that they are one the ancestor of the other, or not. In SourceTree, this is not possible then? The shift-click trick works only for commits related by an ancestry relation, right?

Suggest an answer

Log in or Sign up to answer
Atlassian Summit 2018

Meet the community IRL

Atlassian Summit is an excellent opportunity for in-person support, training, and networking.

Learn more
Community showcase
Posted 7 hours ago in Statuspage

What are your best incident management tips and stories? #HugOps

 👋Community members! Downtime happens. And great incident response takes a village. Teams like Support, Dev, SRE, Ops, IT, and Marketing have to come together to resolve the problem while keep...

25 views 0 2
Join discussion

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