代码之家  ›  专栏  ›  技术社区  ›  Tim Matthews

为什么是darcs而不是git?[关闭]

  •  25
  • Tim Matthews  · 技术社区  · 15 年前

    使用纯功能语言比使用不纯命令有很多好处,但是低级系统语言通常会使您获得更高的性能,尤其是当它们是必需的时,因为它允许您指定CPU应该如何计算结果的确切步骤。

    如果有一个工具列表,高性能是绝对必须的,那么我会把VCS放在这个列表的首位,而Git可以很好地实现这一点。然而,性能并不是Git相对于其他许多类型的版本控制系统的唯一优势。

    Git团队很好地处理了不安全的C代码,我从不担心我的类型系统(或者它所用语言的任何其他特性),所以为什么有很多Haskell开发人员在他们只使用成品时必须使用DARC?

    3 回复  |  直到 7 年前
        1
  •  21
  •   mfperzel    15 年前

    我认为,一般来说,某些用户群体会倾向于一种或另一种技术。如果一项技术使用社区的语言,这一点尤其正确。也有可能(尽管我不知道)DARC的作者和/或初始用户是相当知名的Haskell开发人员,因此具有更大的影响力。

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

    一旦你使用了一个特定的软件,即使有优势,也不值得切换到另一个。

    老实说,尽管要用你最喜欢的东西。此时,几乎需要安装hg、git和svn,并了解使用它们的基本知识。如果您使用的是haskell,那么您可能需要将darcs添加到此列表中。

        2
  •  63
  •   Mark Stosberg    7 年前

    DARC管理补丁的集合,而不是按时间顺序的历史。关于这个的更多信息 darcs wiki page documenting differences with Git . 这种差异可以通过DARC的交互拉补丁的能力来说明。例如,您可以使用一个提交标题提取所有补丁,该标题匹配从“开发”到“测试”的票据编号。DARC将自动确保这些补丁所依赖的任何其他页面也被拉出。使用这个关键特性,您可能需要更少的分支和回购来维护。虽然在Git中,在工作之前创建一个分支非常有用,但在DARC中,这通常不是一个问题,只要您提供相关的提交提到相同的票据编号。我在一个100000K的loc项目中广泛使用了基于此的工作流。除了技术上的差异之外,DARC还非常人性化。命令较少,而且大多数默认情况下是交互式的,提示您如何操作。

    由于DARC的优点和易用性,我更喜欢它而不是Git,我也经常在开源项目中使用它。DARC非常容易使用,即使您必须学习Git才能为某些项目做出贡献,您仍然可以在有选择的其他项目中使用DARC并从中获益。

        3
  •  -7
  •   Dustin    15 年前

    您似乎在暗示Git和DARC是等效的(甚至类似的),而不是实现语言。

    如果你两个都用过,你会发现这个问题毫无意义。如果你没有同时使用这两种方法,那么问题的答案有一个明显的先决条件,那就是了解这两种方法。

    DARCs存在。这足够证明它的存在和使用。如果你喜欢,你也可以成为一个用户。如果你不喜欢它,你就会知道为什么你选择了别的东西。

    推荐文章