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.
mfp*_*zel 21
我认为一般来说,某些用户社区会倾向于一种技术或另一种技术.如果技术使用社区的语言,则尤其如此.也可能(虽然我不知道)Darcs的作者和/或初始用户是相当知名的Haskell开发人员,因此具有更大的影响力.
还有其他一些例子,例如Mercurial在python社区中似乎更受欢迎,而其他语言似乎使用Git.
一旦您使用特定的软件,即使有优势,也可能不值得切换到另一个软件.
老实说虽然使用你最喜欢的东西.此时几乎需要安装hg,git和svn,并了解使用它们的基础知识.如果您正在使用Haskell,则可能需要将Darc添加到此列表中.