为什么darcs而不是git?

Tim*_*ews 26 git version-control darcs

使用纯函数式语言比使用不纯的命令有很多好处,但是低级系统语言通常可以让你获得更高的性能,特别是当它们必不可少时,因为它允许你指定cpu应该如何计算的确切步骤结果.

如果有绝对必须高性能的工具列表,那么我会将VCS放在该列表的顶部,并且git很好地实现了这一点.然而,无论如何,性能不是git唯一优于许多其他类型的版本控制系统的优势.

git团队正在很好地处理不安全的c代码,我从不担心我的类型系统(或其编写语言的任何其他功能),那么为什么有很多haskell开发人员必须使用darcs什么时候才会使用成品?

Mar*_*erg 63

Darcs管理补丁集合而不是按时间顺序排列.更多关于这一点的是darcs维基页面,记录了与Git的差异.这种差异通过darcs以交互方式,无序地提取补丁的能力来说明.例如,您可以使用与"开发"到"测试"之间的票号相匹配的提交标题来提取所有修补程序.Darcs会自动确保这些补丁所依赖的其他页面也被拉出.有了这个关键功能,您可能需要更少的分支和备份来维护.在Git中,在工作之前创建一个分支是非常有帮助的,在Darcs中通常不需要考虑,只要你给你的相关提交提到相同的票号.我使用了基于此的工作流程,以及100,000k LoC项目.除了技术差异,darcs非常人性化.命令较少,大多数命令默认为交互式,提示您该做什么.

由于darcs的优势和易用性,我更喜欢它而不是git,我也经常使用它来开源项目.Darcs很容易使用它,即使你必须学习git来为一些项目做贡献,你仍然可以享受并在其他你可以选择的项目中使用darc.

  • 6 年后,Git 适用于我与合作的任何项目。Git 的存储模型有助于提高性能,但我仍然希望有人能够在 Git 的存储模型之上构建更多 Darc 的 UI。Darcs UI 对新用户来说更容易学习。 (5认同)

mfp*_*zel 21

我认为一般来说,某些用户社区会倾向于一种技术或另一种技术.如果技术使用社区的语言,则尤其如此.也可能(虽然我不知道)Darcs的作者和/或初始用户是相当知名的Haskell开发人员,因此具有更大的影响力.

还有其他一些例子,例如Mercurial在python社区中似乎更受欢迎,而其他语言似乎使用Git.

一旦您使用特定的软件,即使有优势,也可能不值得切换到另一个软件.

老实说虽然使用你最喜欢的东西.此时几乎需要安装hg,git和svn,并了解使用它们的基础知识.如果您正在使用Haskell,则可能需要将Darc添加到此列表中.