Hi Bob,
Aside from the good advice in the previous emails in this thread,
our company/team has just gone through setting up Subversion
with Visual Studio 2005 and CruiseControl.NET integration, so
here are some (hopefully) useful tips.
- Avoid versioning App.config, Web.config, etc. instead, create a
App.config.example (or similar) and version this file, then use
TortoiseSVN to set svn:ignore on App.config.
That way everyone can have their own configuration, you won't step
on each others toes and yet still have a standard point of reference
(good for continous integration).
- Also set svn:ignore on *.suo where you keep your solution(s) and
*.csproj.user where you keep your projects. If you use AnkhSVN,
add Ankh.*Load to svn:ignore on the solution directory.
- Spend the time setting up a server, svnserve is easiest, the Apache
mod is the most widely used.
- Visual Studio 2005 likes to keep it's eye on open files, this sometimes
causes issues with Subversion clients, so if you get client-side errors
referencing a post-commit bumping problem, close the open files and
execute a TortoiseSVN cleanup. I haven't pinpointed a reproduction
scenario, but it seems to mostly happen when moving stuff around.
- Version your external libraries, this will make managing updates easier.
Projects like log4net, nunit, ncover, etc. all work well with this approach,
and it's also good for continuous integration.
- Finally, and this is very much personal preference, but I like to keep the
source code directories clean of compiled assemblies, config and doc output
etc, so instead of setting svn:ignore on the bin directory under the projects,
we have a common build directory above the solution folder, here's a
(trimmed) example Project.csproj for the Debug configuration:
<OutputPath>..\..\..\Build\Debug\</OutputPath>
<IntermediateOutputPath>..\..\..\Build\Obj\Debug\</IntermediateOutputPath>
<BaseIntermediateOutputPath>..\..\..\Build\Obj\Debug\</BaseIntermediateOutputPath>
<DocumentationFile>..\..\..\Build\Debug\Project.xml</DocumentationFile>
You'll get one warning the first time you open the solution about the project(s)
being modified outside VS2005, and the obj/Debug directory gets created
even though it's not used (known VS issue, hopefully fixed next version), so
you have to set svn:ignore on it. A bit kludgy, but I find the effort worth it.
Hope that helps.
peace
si
p.s. Along with "the book", the TortoiseSVN help is also very useful.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Sep 8 18:13:30 2006