[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Subversion Beginner - Multiple users, .Net

From: si <sshnug.si_at_gmail.com>
Date: 2006-09-08 17:49:16 CEST

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

This is an archived mail posted to the Subversion Users mailing list.