How can I use the diff tool of Visual Studio 2012 in Sourcetree?

I would like to use the diff tool of visual studio 2012 with Sourcetree. Is there a way to do that?

4 answers

1 accepted

This widget could not be displayed.

Ok, now I have it:

  1. Tools > Options > Diff
  2. Change 'External Diff Tool' to 'Custom'
  3. Set 'Diff Command' to 'path\to\devenv' (e.g. C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe)
  4. Set 'Arguments' to '-Diff $LOCAL $REMOTE' (works with '-' or '/' on command line, SourceTree needs '-')
  5. Click OK
  6. restart SourceTree

(Now it would be great if it would use an existing visual studio window and won't open a new one)

This widget could not be displayed.

You should be able to use it like so:

  1. Tools > Options > Diff
  2. Change 'External Diff Tool' to 'Custom'
  3. Set 'Diff Command' to 'path\to\devenv'
  4. Set 'Arguments' to '$LOCAL $REMOTE'
  5. Click OK

However unfortunately there's a bug with using 'Custom' setup right now, I've fixed this but only for 0.9.1.2+. We're having some issues with out CDN which are delaying getting this update out, but once this is resolved you should be able to get 0.9.1.2 and use this option.

Ok, now I have version 0.9.1.2 - but It doesn't work...

If I open a command promt and use this command I get a diff window:

>"C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe" /Diff C:\Users\Stefan\AppData\Local\Temp\aiT4ea_WaveGraphRenderer.vb c:\Users\Stefan\Documents\WaveGraphRenderer.vb

But if I set the arguments in SourceTree to '/Diff $LOCAL $REMOTE' visual studio opens, the two files are opened in the IDE, but the diff window is not shown and I get the following error:

---------------------------
Microsoft Visual Studio
---------------------------
The following files were specified on the command line:

    C:/Program Files (x86)/Git/Diff

These files could not be found and will not be loaded.
---------------------------
OK  
---------------------------

Any idea?


Ciao!
Stefan

P.S.: SourceTree has to be restartet after every change in the options menu.

This widget could not be displayed.

Above solutions do not work correctly. The only solution I have found which truly works, is this:

 

https://github.com/Inmeta/Knowledge/wiki/Setting-Up-DiffMerge

This widget could not be displayed.

Thanks Stefan, this works great for diffs. But how can I use this for merges? Is there a switch for devenv.exe for merge or should I use the vsdiffmerge.exe with these args: 

$REMOTE $LOCAL $BASE $MERGED //m

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 Wednesday in Teamwork

What teamwork quotes inspire you?

Hey everyone! My name is Natalie and I'm an editor of the Atlassian Blog and I've got a question for you: What's your favorite quote about teamwork?  We've compiled a list here, along with...

191 views 18 7
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