I'm currently researching new source control options for a team of 10 developers. We do .net development in Visual Studio 2008. We currently use VSS for source control.
We are looking for a centralized source control solution(non-distributed), with a nice Visual Studio plugin. My manager has recommended Plastic SCM and I've always heard good things about Subversion. I'm trying to decide if we should adopt Subversion or Plastic SCM.
There isn't much information out there about Plastic SCM (except what they've written) and I was wondering if it would be a good solution. They make it sound as if branching is much simpler.
Subversion on the other hand has a robust, mature community, and it has been thoroughly field tested.
What are the pros and cons to these tools?
Also are there any other tools that you could suggest?
Thanks
I’d like to add this answer for everyone still to make their choice.
I’m developing in C# with VS2008. I’m working in a team of two developers. We used to have no source control (horror), then we used Subversion (okish) and then we switched to Plastic SCM (good).
My Comparison Matrix:
(please note my Windows-user-point-of-view, YMMV)
Pro Plastic:
- Windows Application -- Nice and intuitive UI
- Good learning videos (you can learn all you need about two hour’s time)
- Standard tasks are all very easy to do: switching to another branch, getting an older version of some file, diffs, merges.
Contra Plastic:
- Costs money (free for open source; Edit (2/2011):
there used to be free commercial 2-user licenses There's a free 15-user commercial license. You need to renew it every year, though.)
- No real server / admin program: I’ve got no idea where exactly on my disk the data is stored; it’s all hidden away from me. Now, how do I backup my repository? The only “solution” I know of is using the client’s replication feature and replicate the repository to your localhost server. (I haven’t done this yet.) [EDIT: Take a look at the comments for a real solution.]
Pro Subversion:
- Free
- Open Source
- Huge user base
Contra Subversion:
- Subversion can’t really handle file renames. You can work around, but it’s not (yet) a native feature.
- Things like moving a directory might corrupt your working copy.
- Tortoise SVN is little more than a façade for the command line svn.exe. For many operations you still need to know the command-line commands and their switches.
- Tortoise SVN severely slowed down my Windows Explorer right clicks.
- Merging takes more time when there are conflicts. You get several copies of the same file and then you have to delete all the versions you don’t need (leave Visual Studio for that), or you get conflict indicators put into your code, which make your code uncompilable until you removed them all. In Plastic SCM, on the other hand, the merge operation opens a window similar to WinMerge and you can just click onto blocks of code you need to resolve the conflict.
Hope that helps. If you need any other specific information, please let me know.
Felix