Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Plastic SCM vs. Mercurial? Need Source Control for Visual Studio 2005 on Windows 7 [closed]

1) Has anyone used Plastic SCM? Is it reliable?

2) How does it compare with Mercurial? (It seems like this is a good candidate for DVCS on Windows. I tried Git and really didn't like it.)

3) I really like TortoiseSVN. I like a central model because of the piece of mind that if it's in the respository it's "safe" and tracked. Here is the question: Is the excitement over distributed version control (DVCS) worth the hype?

My environment:

  1. Windows 7

  2. Windows development (Dev. Studio 2005, SQL Server 2003); integration would be nice

  3. Two developers sharing same code

  4. push code to production servers almost daily

like image 725
Pete Alvin Avatar asked Jan 14 '11 21:01

Pete Alvin


2 Answers

My answer is going to be biased towards Plastic SCM since I'm one of the developers. That being said, let's try to answer your questions:

  1. Is Plastic SCM reliable? It is currently used by big, very big, medium and small teams all around the globe. We don't have (yet :P) a huge user base like Git or Mercurial, but we count on a extremely passionated and talented team. Check, for instance, our load test results (we really put plastic under heavy load).

  2. How does it compare with Mercurial? While I think we can consistently beat every "traditional" version control feature by feature, Git and Hg are probably the toughest ones in terms of the core feature set. Let's focus on Hg, what does Plastic add? I think I could talk for hours but let's try to come up with a short list, basically:

    • Easy to use tools: from the GUI, the ShellExtension, Visual Studio Plugin, integrated diff/merge (yes! give a try to our XDiff/XMerge with code refactor support!), the Branch Explorer that basically let's you do all branching and merging from a graphical perspective... Ok, with Plastic you not only get the "engine", you get the entire car with all the pieces you need. I can mention other tools for VS users like the method history support, and the list grows and grows...
    • Like Mercurial: totally designed to handle branching and merging. From my point of view (biased) branching is simpler in Plastic since "named branches" are there by default. We propose users to embrace "branch per task".
    • Configurable database backends: you can store your data (and later use standard SQL interfaces if you need to build your own apps around) in SQL Server, Firebird, Oracle, MySql or even a tiny SQLite. We didn't reinvent the wheel here: transactional by default ;)
    • ACL based security: probably not key for a small team, but it is there.
    • For advanced mergers: each "changeset" in Hg is restricted to maximum two parents, you don't have this limitation in Plastic, but ok, we could argue about the details for hours... maybe not worth ;)
    • Also for advanced integrators: we do handle merge tracking at the item level which means we can do "partial merges" (merge only part of a branch) seamlessly. It is a little bit harder with Hg and Git.
  3. Is DVCS worth? Of course it is. Ok, step by step:

    • DVCS is good not only because it enables distributed development, is good because all new DVCS systems (Hg, Git, Bazaar, Plastic...) implement merge tracking right. So, at the end of the day for many people DVCS is just about merge tracking done right (less shocking than pushing/pulling but true).
    • Being able to have your own SCM on your laptop is simply great. I've been working with Plastic this way (now I have a SQLite based server, super-fast and super-light) for years and... well, is simply better: you never get slowed down by the internet connection, you can merge whenever you want (remember branch per task), review your own changes... everything. And then push your changes back to the main server when you're done. It is simply better.
    • Now: Plastic SCM, unlike Git and Hg, is able to work in the two modes. Do you want to have a central server and directly connect to it without intermediate replicas? You can do it. Do you want to work in true DVCS style? You can do it too. That's why Plastic is so flexible.

Finally, if you use Visual Studio + W7 + 2 developers... go and grab a FREE Plastic SCM Community Edition... Hg, as I said, is a good core, but Plastic is at least as good and comes packaged with all the tools you're used to have as a Win developer (unless you love the CLI and hate the mouse... and even then Plastic has a CLI too :P).

like image 133
pablo Avatar answered Nov 02 '22 07:11

pablo


I've played around with Plastic SCM a bit and while it seems to be more powerful, I found it much more cumbersome to use than Mercurial. There were two things in particular that I didn't like:

  1. Whereas Subversion and Mercurial compare files against their original versions to decide what needs to be checked in, Plastic SCM requires you to check out files explicitly before editing them, and also marks files as read-only by default. This is the way that Team Foundation Server operates and it's probably the one "feature" of TFS that attracts more criticism than any other, so it was a big disappointment to see Plastic emulate it. I understand that you can configure Plastic to not mark files as read-only, but I have no idea how well it works in practice if you do so.

  2. I found its GUI tools pretty over-designed and awkward to use compared to Mercurial's GUI front end, TortoiseHg. They really need to rein in their graphic designers. It's a version control tool, not a movie, after all.

like image 10
jammycakes Avatar answered Nov 02 '22 06:11

jammycakes