I'm not a big fan of the built in Merge tool that comes with Microsoft's Team Explorer for Visual Studio.
I really prefer Araxis Merge interface much much more.
So I have search for a way to integrate it into Team Explorer.
I easily found James Manning's blog about diff/merge configuration in Team Foundation which explains very clearly how to use the "Configure User Tools" under Tools -> Options -> Source Control -> Visual Studio Team Foundation Server".
James tells you exactly what parameters you need to put in the Command's arguments:
/wait /swap /a3 /3 /title1:%6 /title2:%7 /title3:%8 %1 %2 %3 %4
And it really works:
James's settings work only for Araxis Merge Professional Edition (that supports 3-way merge and compare)
So if you only have Araxis Merge Standard Edition licence (that support only 2-way merge and compare), you need a little bit different setting:
/wait /2 /title1:%6 /title2:%7 %1 %2 %4
and actually I also prefer changing the titles from Microsoft's defaults (Yours, Theirs) to "Source" and "Destination", so my final arguments are:
/wait /2 /title1:Source /title2:Destination %1 %2 %4
and it works! (using 2-way merge)
You just need to take into account that the 2-way isn't perfect as your first instinct would probably be to edit the Destination side, but you'll get a warning about "this file is read only". this is because Microsoft never intended that you will edit this file itself. They have created a fourth file (%4) which is the result of the merge.
You can workaround this by telling Araxis Merge to allow editing of the read only file.
This can be done on the specific file level:
Or globally by: View Menu -> Options -> Text Comparisons -> Editing -> Allow editing in read only files:
Anyway, even if you edit the "Source" file instead of the "Destination" file, Araxis will pass the saved file (if you click ctrl+s or the "save" button - Araxis save the current doc - meaning the doc where your cursor is in) to TFS.
It is a little dangerous as you might be on the wrong doc when saving.
You also have the option to just close the Araxis window without saving, which will pop up a window for you to decide which file you want to save as the merged file:
If you can effort Araxis Merge Professional Edition - go for it.
If not - you can still integrate the Standard edition fairly well.
There is one advantage in using the 2-way compare: when you have done lots of changes in one side - instead of copy all of them to the middle and then integrate the other side - you can right away integrate the less changed side into the other.
Just to let you know - You can use 2-Way merge on the Pro edition too.
Use the arguments I have supplied and it will work (because of the /2 flag)
You can find more Integration settings with other Source Control, Configuration Management and Other Applications in Araxis' Web Site