Which Subversion distributions are right for the enterprise

I'm looking for a suitable Subversion distribution for intra-enterprise deployment. It should run on a Windows server and should scale to support concurrent users with a numbering of probably no more than a dozen (these are concurrent connections, not shared users) and support for repositories up to possibly several Gb. The main Id function, how to achieve beyond the normal Subversion functionality, is the ability to distribute rights to create repositories and manage permissions for named persons, without necessarily granting them server-level rights or giving them the ability to read other repos that they should not have rights to. ...

I have been using Visual SVN Server for a long time in personal projects and have been very happy with it, but this is obviously a very different scenario. The identity deserves some feedback both in regards to visual SVN compatibility (I know this is already partially covered here ), but other distributions that may be more suitable for an enterprise environment.

0


a source to share


4 answers


It turns out there is no distro to do what I need, so I wrote my own control layer on top of VisualSVN. Ive recorded the process in blog format for the benefit of someone else who stumbles on this in the future: http://www.troyhunt.com/2009/10/creating-your-own-custom-subversion.html



0


a source


We are using a service version of svnserve for Windows, which I believe now comes with an official subversion distribution. I work well for us with a server connected to most of its users (although we have some of us in the Atlantic). We have fewer users at the same time than you, but probably 20 users, but unlikely in an extreme case, more than 4 hits to the server at the same time. Our total repository size is around 15GB.



The most flexible system is to host it behind Apache. Apache security controls are much more flexible and will likely be more than what you are looking for. Apache on windows is not the best, but it should be more than enough for your needs. It takes a bit of tweaking with config files and that's it, but you can be pretty thin on permissions. I recommend reading svnbook on the official site.

+1


a source


We have been behind Apache 2.0.x for several years now and I was happy with that. We use mod_auth_sspi for user authentication, mod_authz_svn for user / path authorization, and mod_dav_svn to add WebDAV access. Once you've installed and configured it, it just keeps working. It is really handy to be able to browse the repository using WebDAV. If you need more, you can install any of the web browsing tools.

The configuration was pretty straightforward as you can simply give each authenticated user read access, and then create user groups and provide write access to all full repos or subtrees. The separation of authentication and access control makes the system very pleasant to maintain when users come and go. We currently host three repositories on a single Win2K server. We have about 50 or 60 users, and most of the access is focused on one of the repositories. Last time I checked we had about 7 or 8 concurrent connections and about 6GB. I'm not sure what this calculates to the file size though.

Several warnings are warranted ...

  • Read Version Control with Subversion a few times
  • Figure out how you want to host your repository before committing to code.
  • In fact, make sure you think through the layout of the repository ... specifically how you are going to maintain multiple versions and branches.
0


a source


Stick to the VisualSVN server. It works well, is easy to manage and install, and integrates well with Active Directory authentication. That's about all you need from an enterprise product.

With that in mind, and your experience with it, this is the perfect tool for what you want. You can grant permissions for different repositories very easily, although obviously creating new repositories will require server level access (unless you provide a script to execute it for you) and they need server level disk access as well as the ability access to configuration. however, once created and configured, they must be protected differently for each repository. It won't be ideal for your situation, however, but I'm not sure if you get the ability to allow people to create and secure their own repos without having access to the rest of the server in any way.

SVN maintains repos for more than one gig - I have 12Gig of data in 2 repos with 300,000 changes.

0


a source







All Articles