Reliability
- SVN is a lot more reliable with large databases
- SVN is still actively supported
- Atomic commit – in VSS when you get latest version while another user is performing checkin, you can get an inconsistent state, forcing you to repeat the “Get latest version” in better case, but sometimes when unlucky you may be left with a codebase which compiles but does not work. This cannot happen in SVN thanks to atomic commits.
Features
- SVN branch/merge is a lot better
- SVN has builtin support for remote access
- SVN is more configurable (integration of external Diff/Merge tools)
- SVN is more extensible (hooks)
Better productivity
- SVN “Update” is a lot faster compared to SS “Get latest version”
- SVN command line is a lot easier and cleaner – this is useful for automated build or testing tools
Same level of IDE Integration
- VSS had a lot better VS integration until recently, but with AnkhSVN 2.0 this is no longer true.
Open
SVN is open and there is plenty of various tools using SVN or cooperating with it. Some examples include:
- integration with many bug tracker or product cycle management products
- shell integration
- integration into various products
- various management and analysis tools
- source is available, you can adjust it to your need, fix the problems (or hire someone to do it for you) should the need arise
Cost
- You do not have to pay any license or maintenance fees