I am compiling a guide for developers that includes instructions on using "svn switch" through tortoisesvn. We want the guide to be as fool-proof as possible.

Developers are switching between different branches that have been created per issue. Generally, the branches are pretty similar but there are a few challenges:

* the directory in SVN is around 1.5GB in size
* there are a large number of unversioned Sitecore files also in the webroot that we don't want to add for various reasons (licensing, additional size, 3rd party files that should be updated separately to svn)

My question is:

* When can SVN switch get itself into a completely broken state? I've read this is possible but haven't been able to replicate it myself
* Assuming we tell developers to always make sure all changes are committed before the svn switch, and we know the branches are not going to be radically different, is there any other best practice steps we should be doing?
* Will the large number of unversioned files hurt us for switching purposes? I know svn ignore would help a lot so they don't clog up the list of modifications. From my tests going from an unversioned to a versioned file is handled nicely should we decide to add one of these files to the repositories

Thanks

Update: Dev Environment

* Laptops using Windows 7
* Visual Studio 2008 with AnkhSVN
* TortoiseSVN for all direct SVN operations
* Using Tortoise for the switch
* Windows server running Apache 2.2 + subversion for the server