Search code examples
c#visual-studiosvntortoisesvnankhsvn

Changing folder names in Visual Studio when using SVN


I am using VS2008/VS2010 with Resharper 5, TortoiseSVN 1.6.8.19260-x64, and AnkhSVN 2.1.8420.8. Most operations I do in Visual Studio are reflected fine in SVN, however, renaming folders in a project can cause problems when I try to submit my changes. Also all the namespaces in the C# source files under the renamed folder need to be updated to reflect the name change.

What is the best way to rename the main project folder or any sub folders and ensure there are no issues with SVN? Should it be done outside Visual Studio?

What is the best way to update all the namespace changes? Is search/replace the only way?

Are there any best practices regarding folder names and their contents?


Solution

  • Yes do your rename outside of Visual Studio.

    Using TortoiseSVN in windows explorer, do your rename via the TortoiseSVN context menu on the folder in question. The project in Visual Studio will detect the changes on disk and ask you to reload.

    You could also do an exclude from project in Visual Studio, then rename and then re-include the new path.

    Edit: As per @Sander Rijken below, AnkhSVN tracks the rename and makes sure the rename is correctly registered in the svn working copy.
    If you don't have AnkhSVN installed in addition to TortoiseSVN though this will not work and you have to do as I said above.