Question

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

Was it helpful?

Solution

I haven't used Plastic SCM before, but Subversion worked very well for me in the past. If you're not bound to a free solution like SVN, you might consider Team Foundation Server. Beside Version Control, TFS offers additional nice features like work item tracking, integrated reporting ... As you can imagine, the Visual Studio integration is just great :)

OTHER TIPS

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

Using VisualSVNServer is an easy way to get Subversion up and running in the Windows environment, and they have a tool that offers Visual Studio Integration for about $50/dev. When I worked for a company in the middle of a switch, the decision was between SVN and Perforce. We ended up going with SVN because I was able to get it, use it, test it, play with it very easily. We could get WebEx presentations of Perforce, but it was hard to learn without buying their book. Also I argued it was a better tool for developers to know because so many open source projects were on it, and it was a more transferable skill. Plastic SCM is not likely to be used if you were to move on to another position.

Take a look at the performance here. It compares both systems under really heavy load (1, 10, 20, 50 and finally 100 concurrent machines against a single server, which is much more than 100 real users, for sure).

I in advance asks excuses for my suggestion, but you can use a Distributed Version Control System in a centralized manner. It is just matter of politics inside your development team.

For instance, Mercurial allows pulls and pushs via web service very easily through TortoiseHG.

Or maybe you can try a mix solution, centralized (subversion) server, and a local branching for each developer using git, which I have to say, it's very easy.

For Subversion <-> VStudio, I have used Ankh and I find it very easy to use. For Git <-> VStudio, I have used GitExtensions and the integration is not so good as one can find for example with a Tortoise Shell extension or with Ankh, but you can try it yourself.

I used GIT, SVN and Plastic (pre SCM 4 version), then to SVN, and now back to Plastic SCM 4. Plastic is not only quicker to checkin/checkout/update, etc, than the others I used, but it has a good looking UI as well as intuitive (for me) navigation and functions. I always ran into corrupt working copies with SVN when I changed branches, etc. Plastic just works for me.

Another alternative for VSS is SourceGear Vault ('vss done right'). Big plus is that it works (unlike VSS).

PlasticSCM seems to be a distributed solution, while svn (and VSS, TFS, ...) are centralized. If you want alternatives for commercial distributed solutions, you may want to have a look at git, mercurial, bazaar.

I've used SVN for the longest time. I've gotten used to it. Both at the office and on my personal network at home. It worked nice and easy.

I have recently started a new job and in this office we use Plastic. This was my first exposure to this product. I am so blown away with Plastic that on my own server, I've ditched SVN and moved over to Plastic. It is just that good. I will not easily be convinced to go back to SVN. Plastic is perfect. It's free for up to 15 devs. It can be SQL server integrated, so you know exactly where your repository is at all times. It can be hooked up to use AD authentication. The thing I enjoy most about Plastic is it's Branch explorer. It has a GUI that shows all the branches of your current project. In this Branch explorer, you can make child branches from your main branch or merge child branches back into your main branch. This was well thought out.

Plastic IMHO is a dream come true. Pablo knows his stuff!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top