30 July 2007

TortoiseSVN and Visual Studio Integration - Visual Studio 2008

Finally, I am getting around to an update to the TortoiseSVN Visual Studio Integration. The catalyst for this is the release of Visual Studio 2008 (formally codename Orcas) Beta 2, and making sure I can still play with Subversion through the IDE.

I have made a new distribution ZIP file with a few more configurations inside.

Download it here.

It has a few more features than before including some for dealing with conflicts. The distribution itself has a few more files so you can decide whether you want to just have the menus, toolbars or context menus.



Supported operations

The following Subversion/TortoiseSVN features are covered in the integration:
  • Commit - Commit the files to the repository
  • Update - Update the current working version
  • History - Get the history for the selected file
  • Diff - Get the diff compared to the base version
  • Blame - Find out who committed the crimes in the file
  • Revert - Undo changes
  • Modifications - Check to see if any files have been modified
  • Edit Conflicts - Edit the conflicts that arise from merging/updating
  • Resolve - Mark the file as resolved for conflicts
  • Repository - View the repository on the server
  • Project History - Get the history of the entire project
  • Add Solution - Add the solution being edited to source control
  • Branch/Tag - Perform a branch or tag operation on the current working copy
  • Settings - Set up TortoiseSVN
SubversionInstall.vbs

This simply installs a set of External Tools into Visual Studio for common TortoiseSVN operations. It can be installed on versions above Visual Studio.NET (version 7.0). Currently it is configured for Visual Studio 2008 (version 9.0), to make it work on other versions change the variable "strVisualStudioVersionNumber" as outlined in the file's comments.

Also, if you have installed TortoiseSVN in a non-default location, make sure that you change the variable "strTortoiseSVNBin" to the correct binary path. Make sure that the backslashes are doubled up.

SubversionMenu.vssettings

This is a settings file for Visual Studio 2008.

This adds a menu to the IDE for TortoiseSVN with the appropriate icons.

SubversionMenuToolbar.vssettings

This is a settings file for Visual Studio 2008.

This adds a menu for TortoiseSVN as well as a toolbar using the appropriate icons.

SubversionMenuToolbarContexts.vssettings

This is a settings file for Visual Studio 2008.

This adds not only the menu and toolbar, but also adds the items to the appropriate context menus for files and solutions.

SubversionMenuToolbarContextsVS2005.vssettings

This provides the menu, toolbar and context menus for TortoiseSVN in Visual Studio 2005.

Unfortunately there is no good solution for file renaming (I always do it through Windows Explorer) since this integration uses the External tools and allows for it to work in Visual Studio Express.