views:

59

answers:

3

I'm migrating from Visual source safe to SVN, so please forgive my ignorance. I was browsing this link which talk about best practices in SVN. And something seems very wierd to me.

Copies of third party software projects or depedencies in SVN is unacceptable

What ??? How Team city is supposed to build my project if I don't save the dependencies in the SVN ?? How new developpers can build in one step ? Where can I save some depedencies of my tests (like a test subfolder in my project which contains raw data).

Am I missing an important concept somewhere ?

+4  A: 

I would disagree with that statement. We keep third-party dlls in our repository so the build server can compile the projects without us having to install sdk's or other software.

Pedro
I'd also disagree with that statement - for continuous integration you pretty much have to keep (binary) dependencies under source control somewhere.
Timo Geusch
A: 

I too disagree with that statement. I think the background context for that statement was that it seemed to be providing a shared repository to a large number of people and so managing disk quotas etc. were a primary concern.

It is a good practice to archive dependencies, tools etc. as necessary to ensure that you can recreate an old release/build environment if needed.

Stephen Doyle
+2  A: 

These are the "good practices" for the Queensland university. Reading through that doc you'll discover that they have a quota for their repositories. That's probably why they don't want third party binaries in the repository. That and maybe due to license problems (after all, they're a university an maybe won't allow students to use licensed libs).

For your company, you can set up your own "good/best practices". Putting third party libs in the repository is definitely allowed and depending on your setup even required!

Some companies even put all the development tools in the repository to ensure that the code can be built again with the same compiler/ide. But I wouldn't recommend that - I'd rather store the compilers/ides somewhere else than in a repository.

Stefan