Version control SCM/VCS:跟踪目录

Version control SCM/VCS:跟踪目录,version-control,Version Control,当我第一次发现Mercurial跟踪的是文件而不是目录时,我有点失望。(这意味着你不能在repo中表示一个空目录。)然而,这在实践中似乎不是一个问题,并且使一些事情对我来说稍微容易一些其他SCM系统如何?(编辑此帖子以添加它们。)不跟踪目录有哪些优点或缺点?(请在回答中分别列出每一个。) Do跟踪目录: 颠覆 集市/bzr 塑性CM 阿库雷夫 Clearcase (添加一个!) 不跟踪目录: 汞/汞 吉特 性能 (添加一个!) 这是来自: 空目录很少有用, 还有一些非侵入性的解决办法 您可

当我第一次发现Mercurial跟踪的是文件而不是目录时,我有点失望。(这意味着你不能在repo中表示一个空目录。)然而,这在实践中似乎不是一个问题,并且使一些事情对我来说稍微容易一些其他SCM系统如何?(编辑此帖子以添加它们。)不跟踪目录有哪些优点或缺点?(请在回答中分别列出每一个。)

Do跟踪目录:

  • 颠覆
  • 集市/bzr
  • 塑性CM
  • 阿库雷夫
  • Clearcase
  • (添加一个!)
不跟踪目录:

  • 汞/汞
  • 吉特
  • 性能
  • (添加一个!)
    • 这是来自:

      空目录很少有用, 还有一些非侵入性的解决办法 您可以使用它来实现 适当的效果。开发人员 Mercurial因此认为 复杂性,这将需要 管理空目录不值得 此功能带来的有限好处 带来

      我认为这几乎说明了一切。如果你设计了一个VCS,你会做出一些决定。在Mercurial的案例中,关于文件处理的决定(这本身可能被认为是好的)导致了这个小小的警告

      这绝对可以被认为是一个缺陷,尽管它很小。其他VCS的其他缺陷来自于其他决策(例如,git中不断需要的清理操作,这不会使git的价值降低)。

      毫不奇怪,它不会产生空目录。然而,确实跟踪他们,这确实让我感到惊讶


      从CVS时代起,我们就有了一个简单的解决方法,即在目录中创建一个占位符文件并跟踪它。或者,您可以在构建过程中创建空目录,这几乎总是正确的做法。

      我也一直面临空目录的问题。使用占位符文件的问题是,如果不再需要它们,您需要创建它们,然后删除它们(因为后来添加了子目录或文件。使用大型源代码树管理这些占位符文件可能会很麻烦且容易出错。

      添加:DO track Directory:Plastic SCM,Accurev

      我知道有一些折衷。这个问题是关于找出这些折衷如何影响实际项目中的实际用户。SO的性质意味着我们可以(通过投票)看到哪些问题对这个社区影响更大(或至少对社区更重要)。这很好,我的答案可能会保留在底部。我完全同意这一点,我只是认为指出这一点很好。我知道这不是你问题的真正答案,但它是CW,所以我选择了自由:-)感谢您的参与,只是不希望您在花时间回答问题时误解问题。:)这是一个社区维基,您可以自己添加它们。我的意思不是说听起来像它那样任性。+1在构建中这样做。我正在寻找半标准的方法来跟踪mercurial中的目录。在构建中这样做被证明是更优雅的解决方案。