I’ve been using Plastic SCM 3.0 for most of the last year and despite someone from the Plastic SCM team personally giving me demo (thank you!) I never got to the task of writing up what I thought about it. With the release of Plastic SCM 4.0 it is a good time to share some of my experiences.
Some Things to Keep in Mind
My background: I’ve used VSS (yuck), TFS, Microsoft’s version of Perforce called “Source Depot”, TFS, and Mercurial. I’ve never used git.
My preference is Mercurial which I use via TortoiseHg. All my codeplex projects no longer use TFS; I’ve switch them all to mercurial.
Most of my coding involves my own personal projects, so I don’t have a lot of experiences involving lots of branching or making complicated merges
I’m developing on Windows machines on a windows network – either at work where I have Active Directory or at home which does not have Active Directory
What’s Cool about Plastic SCM
You can see many cool features here: http://www.plasticscm.com/features.aspx – but I’ll pick out a few that stand out to me.
#1 – it’s a DVCS (of course)
#2 – Setting up a Plastic SCM server on your local network is EASY. By default Plastic SCM sets up a SQL CE database to store the code and this requires no configuration on your part. You’ll be up and running in minutes. Try that with Mercurial on a window
#3 – Understands the needs of the business. Primarily here I am talking about the fact that it supports Active Directory security and can store code using a traditional SQL database.
#4 – Supports (but does not require or force) the checkout/checkin model. I know some people think the concept of checkout is outdated – but I have to assure you that in some development organizations it’s simply an intentional part of the development process and policy.
#5 – It’s beautiful. I admit I found the old Plastic SCM 3.0 client interface to be clunky and weird. That’s all gone now. Plastic SCM 4.0 client is darn pretty and very easy to use. As far as I can tell this is the best looking source system out there. They deserve a lot of praise for this alone. Beyond looks, it is very, very usable – TortoiseHg could learn a lot from the Plastic SCM user interface.
Take a look:
#6 – You can work either with a central repository or in a truly distributed fashion. Again, many corporate development organizations will insist on a central repository – so this is a very valuable.
#7 – It’s free for 15 users. For a product this nice to use, that’s amazing.
What Could be Cooler
#1 – Management - Generally speaking, when you install a server component there should be some place (a UI “console” or a “management studio”) where I can go to see what is going on (events, errors, logs,etc.) and perform tasks (like configuring which database backend to use. Plastic SCM simply doesn’t have something like that, which is a shame because I think it would help quite a bit.
#2 – I wish a site like CodePlex or Google Code supported the Plastic SCM. I’d love to use the Plastic SCM client for working on all my code.