![]() ![]() With the VS2012 release it’s actually quite obsolete because the new diff and merge tools in VS2012 are great themselves. I started writing this post several months ago, but only finished it and published it now. In a real project, the VS2012 tools lasted only a few days before I switched to TortoiseMerge. ![]() ![]() The VS2012 diff and merge tools are indeed improved, but still lacks the important feature to undo single lines in the diff tool. When I wrote this post I had only tested Visual Studio 2012 very briefly. Thanks Peter Provost for the config instructions, including the explanation of the mysterious arugments. The arguments for the Merge operation are The arguments for the Compare operation are C:\Program Files\TortoiseSVN\bin\TortoiseMerge.exe. The command should be set to the full path of the TortoiseMerge executable, e.g. Then press “Add” to add first the merge tool and then the diff tool. The configuration for this is done in Visual Studio under Tools->Options, Expand Source Control->Visual Studio Team Foundation Server and press “Configure User Tools”. It gives a really good overview of where the conflicts are in the file and where there are merely changes that were merged automatically. When handling files with a large number of lines it indicates what part of the file is currently displayed. Note the colour coded overview of the file to a left. Once again, TortoiseMerge offers both better visual feedback and better control over the merge process. The TFS merge tool looks about the same as the diff tool. TortoiseMerge also offers a better experience when merging. To change to using TortoiseMerge is just a matter of installing TortoiseSVN and a minor config change. TortoiseMerge has better visual feedback on what the changes are and also offers a quick way to undo parts of the pending changes. If I’m lucky I do get all the white space (tabs, spaces and line breaks) identical to avoid committing an unrelated change at the top of the file. With the TFS merge tool, I have to go back at this point to the source file, update it and then diff again. I also see that there is a using statement left behind that I introduced when planning to use a collection of seat objects. Looking at the diff, I see that I’ve added a SeatCount property correctly. Using the built in TFS merge tool (diffmerge.exe) checking pending changes looks like this. Unfortunately the TFS tooling is very limited, so I prefer using TortoiseMerge which is part of the TortoiseSVN package. I tried changing the External Diff option to Custom and manually selecting the DiffMerge executable (C:\Program Files\SourceGear\Common\DiffMerge\sgdm.exe), with or without quotes, and passing the $LOCAL and $REMOTE as the parameters in the Arguments field in SourceTree (with quotes and with backslash-escaped quotes).To always control exactly what is about to be commited is a best practice when working with source control. (SourceTree on my computer is already allowed to modify the global git config.) I looked at this Atlassian Community question, but it really seems to be about a different issue. SourceTree is configured to use DiffMerge as the External Diff Tool and as the Merge Tool. "C:\Program Files\SourceGear\Common\DiffMerge\sgdm.exe" local.env I can open DiffMerge directly, even from the command line. I'm using Windows 10, SourceTree version 2.4.8.0 (latest, last I checked), and Source Gear's DiffMerge tool (version 4.2.0, which is probably old). ![]() Has anyone else seen this as well and/or does anyone have any pointers for how I might fix it? Within the last week or two, SourceTree lost the ability to open the "External diff" tool: when I select External diff (or hit Ctrl-D), it no longer opens the external diff tool. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |