Subversion is a very light weight system. I have really yet to see a site that has "underconfigured" their server for Subversion. To me the main issues are:
* Network bandwidth: Subversion sends a lot of stuff over the network, but it still usually isn't a bottleneck. Where bottle necks occur is when a high bandwidth application shares the same server or network segment and prevents Subversion from being able to communicate through the network. My suggestion is to make sure Subversion is its own server and make sure that other processes aren't hogging your network. Subversion doesn't need much iron, but it does need room to breath. * The other big configuration issue is backup and failover. Hard disks and computer components wil fail. It will happen sooner or later. And, many sites simply don't have a contingency in place when it does happen. In a development environment, your work stops when the version control system stops. You can limp along if your defect tracking system goes down. You can still develop if your database crashes. You cannot do a thing if you can't get and save new versions of your files. You need to backup your repository in such a way that you can quickly recover when your hardware fails. Mirrored systems that automatically fail over would be great, but that's not always practical. How often do you backup? Can you immediately use your hotcopy backup if your Subversion server goes down? How long will it take you to reload your repository from a dump? Can you do repository mirroring? Fortunately, Subversion can be down for awhile before all work stops, so immediate failover isn't a complete necessity (If ClearCase goes down, all dynamic views are nonfunctional and developer's work stops in its tracks.) * The other consideration is your platform and developer systems. Subversion on *nix systems are usually case sensitive. FooBar.java and Foobar.java are two different files. Subversion on Windows isn't case sensitive: FooBar.java and Foobar.java are the same file. MacOS X Is *NORMALLY* case insensitive in the same way (although it is Unix based). If you have *nix Subversion clients, you should have a *nix based system. Windows can really go either way. -- David Weintraub [email protected]
