Typical SVN repo structure seems to be sub-optimal for continuous integration...
- by Dave
I've set up our SVN repository like the Subversion book suggests, and this is also how my previous companies have done it. It looks something like this:
/trunk
/branches
/tags
/extlibs
/docs
where the first three are pretty obvious, and extlibs is for 3rd party assemblies that we wouldn't typically recompile ourselves.
All of this works great for the daily development stuff.
Now I've installed TeamCity and have builds, unit tests, code coverage, and code analysis running. Everything is great, except for the fact that this code structure results in too much code getting downloaded.
So here's the catch 22, in my opinion: it's silly to download all of aforementioned folders from the SVN repo when I only need /trunk and /extlibs. But I can only specify one repo folder to download in the TeamCity VCS settings. So then the other possibility is to put the /extlibs folder into /trunk, but in order to compile branches, /extlibs would have to go into all of those as well (since I usually branch the trunk, and not individual subfolders... and this would seem infinitely more evil since /extlibs could actually be larger than /trunk and /branches, with all of the binaries stored there...
Do you guys have any suggestions for me? Thanks!