12

1) 有人用过塑料单片机吗?它可靠吗?

2) 它与 Mercurial 相比如何?(这似乎是 Windows 上 DVCS 的一个很好的候选者。我尝试了 Git,但真的不喜欢它。)

3) 我真的很喜欢 TortoiseSVN。我喜欢一个中心模型,因为我认为如果它在存储库中,它是“安全的”并且可以跟踪。问题来了:分布式版本控制 (DVCS) 的兴奋值得炒作吗?

我的环境:

  1. Windows 7的

  2. Windows 开发(Dev. Studio 2005、SQL Server 2003);整合会很好

  3. 两个开发人员共享相同的代码

  4. 几乎每天都将代码推送到生产服务器

4

3 回答 3

13

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).

于 2011-01-14T23:39:38.370 回答
10

我已经玩过 Plastic SCM 了,虽然它看起来更强大,但我发现它比 Mercurial 使用起来更麻烦。我特别不喜欢两件事:

  1. Subversion 和 Mercurial 将文件与原始版本进行比较以确定需要签入的内容,而 Plastic SCM 要求您在编辑文件之前明确签出文件,并且默认情况下还将文件标记为只读。这就是 Team Foundation Server 的运行方式,它可能是 TFS 的一个“功能”,它比其他任何功能都受到更多的批评,所以看到 Plastic 模仿它是非常令人失望的。我知道您可以将 Plastic 配置为不将文件标记为只读,但如果您这样做,我不知道它在实践中的效果如何。

  2. 与 Mercurial 的 GUI 前端 TortoiseHg 相比,我发现它的 GUI 工具设计过度且难以使用。他们真的需要控制他们的平面设计师。毕竟,它是一个版本控制工具,而不是电影。

于 2011-05-12T11:40:07.803 回答
7

我一直在研究塑料和汞有一段时间了,虽然我玩了一段时间,但我真的开始爱上塑料了。我之所以这样做是因为在我目前的工作中,我们使用 SVN,并且代码合并非常手动,我认为必须有更好的方法。所以,在我的空闲时间,我已经进入了塑料并喜欢它。这些工具简单直观;没有更好的方式来描述它们。哦,当然,我对我的命令行能力毫无疑问,但是看到你在做什么,还是有话要说。当然,每个人都有一个命令行,所以我从不关心任何 VCS 的那部分。

至于 DVCS,Plastic 确实为您提供了比我在其他任何系统中看到的更多的灵活性。拥有多个存储库副本以及来回推送/拉取更改非常容易。此外,由于 GUI 可以在所有平台上运行,所以一切都是一样的。我可以选择使用我想要的东西,我的队友也可以。

我仍在学习和深入研究,但我建议自己做一些研究,下载并尝试一下。我没有阅读手册,我可以开始使用它。这简直太棒了!

于 2011-01-17T21:50:06.117 回答