A TortoiseSVN Visual Studio Integration Update
I've just done a minor update to the TortoiseSVN Visual Studio integration. It's nothing too major and if they are already working for you don't bother with the update.
The only change is to make the c:\Program Files\ point at %PROGRAMFILES% so if you have a non English Windows or Program Files is somewhere different then you should be ableto avoid fiddling with it. Thanks to Fabian for the suggestion.
You can download the settings here.
TortoiseSVN Visual Studio Integration
I developed this Visual Studio integration whilst migrating a previous company (NC Graphics) from Visual SourceSafe to the brave new world of Subversion. Developing is a bit of a strong word since it is only a settings file for Visual Studio, but it does the job admirably in a non-intrusive way and has no performance effects at all on the IDE.
The settings file gives you a new toolbar, a new menu, and new items on the context menus in the solution view. You get some nice TortoiseSVN standard icons to make it even easier.
This all works with Visual Studio 2005 and 2008 (and even the Express Editions), along with a standard installation of TortoiseSVN. Unless you want to edit the commandline in the External Tools I recommend installing TortoiseSVN to the default location.
It's quick to set up, just go to your "Tools" menu and choose "Import and Export Settings" and follow the instructions. Ensure the tick box for which settings to import are all ticked. If the settings don't work first time, try again, as Visual Studio can be a bit flaky when loading. It will replace your External Tools because they have to be stored in the correct numbered slot due to the way they are implemented in Visual Studio.
Unfortunately renaming is well beyond the external tools implementation I have used. TortoiseSVN 1.5 does have some additional functionality to rebuild the links for renamed files which is really useful.
Supported TortoiseSVN 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 local 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 on the current working copy
- Settings - Set up TortoiseSVN
Files In The Distribution
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.
SubversionInstall.vbs
Use this file if you want the external tools only. These will be appended to the list, otherwise use the settings files. Don't use in addition to the settings file.
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.

This work is licenced under a Creative Commons Licence.