Why in many examples people try to create separate repository per project?
Why not have single repo and manage access via authz file?
Now it looks for me like extra administrative burden with little benefit...
Why in many examples people try to create separate repository per project?
Why not have single repo and manage access via authz file?
Now it looks for me like extra administrative burden with little benefit...
It depends on your organization structure. For many shops a single repository is fine. We used to use a single repository and are now switching over to multiple repositories.
One reason to split it up is because of permissions. If not every is allowed to be in all projects then you can give users access to just the ones they need.
For us it was just a matter of making things a bit easier to deal with from the client side. Once they're set up they're set up. A little extra effort breaking them up to us was worth the ease of use on the client side.
Sometimes people use different repositories for different types of projects, also. Source code in one for the development, product docs in another for the technical writers, etc.
We use multiple repositories (one per project) mainly because it is much easier to archive/delete an entire repository. The nature of our business means we do lots of small short term projects for clients that we might not ever hear from again. Being able to move old projects off to tape archive without disturbing any active projects was a major win for us.
Having multiple small repository makes it possible to do administrative in a single repository. For example if you have to remove a file from SVN, you basically have to recreate the repository after having passed it through a filter. And this changes the revisions numbers. It is much better to do it on a single project and not affect all other projects.
And if you ask why I should ever remove a file from SVN (that totaly contrary to the essence of source control) : have you ever commited a file with sensitive informations to your repository ? Be it contracts, client informations, database passwords ...