I won’t take credit for this, but it is necessary if you ask me. The TFS merge tool is awful. I am posting the link below for the credit.
Go to Tools, Options, Source Control, Visual Studio Team Foundation Server, Configure User Tools, and Add.
From there it is pretty intuitive.
The above just shows the simple configuration for comparing files. It doesn’t show how to configure DiffMerge as your merge tool.
First, the above arguments work, however the documentation says to use the following arguments when setting up DiffMerge for comparing: /t1=%6 /t2=%7 %1 %2
To configure for merge, Add a new setting (step 3), repeat step 4, select Merge in Operation, repeat step 5, and use the following command line: /m /r=%4 /t1=%7 /t2=%8 /t3=%6 /c=%9 %2 %3 %1
I have been integrating with ITIM 5.0 using the unsupported Web Services that use AXIS 1.3. All of the issues I have experienced were fixed in 1.4, and seeing as the product is over 5 years old, I don’t understand why they chose to stick with an older version. There are several issues I have found besides the well published one about how AXIS represents arrays by pointing to a centralized value store. One of those issues is namespacing. AXIS tends to generate WSDL with a namespace, but the return values do not have a namespace, .NET just fails to find the value during deserialization. It took me forever to find out why, but I solved it by manually removing the namespace requirement from the proxy code. The second issue I ran into was how the WSDL represents collections of items. The collection is named SomeCollection with the items underneath being named Item. When the service returns, the items are named the same as the collection (SomeCollection contains SomeCollection(s)). I had to manually rename all of these references in the proxy to be the same as the collection. These cost me countless hours. If I find anymore I will post them here. Obviously the solution is to upgrade to 1.4, but IBM won’t support it or turn over the source code to do so.
js = new HtmlGenericControl();
js.TagName = "script";
protected void RegisterCssInclude(string path)
css = new HtmlGenericControl();
css.TagName = "link";