2010-03-17 60 views
1

有谁知道在CVS中定义模块/目录结构的最佳方法是什么?特别是如果我有大项目可能有很多子项目(甚至不相关)。它是更好地定义模块,每个子项目或使用子目录:CVS:模块与子目录

  1. 方法#1模块

    • CVSROOT
      • 主项目
      • 平台一个小组PROJECT1
      • 平台A子项目2
      • 平台B子项目3
      • ...
  2. 方法2子目录

    • CVSROOT
      • 项目
        • 主要
        • 平台A
          • 子项目1
          • 子项目2
        • B平台
          • 子项目3
        • ...

回答

1

从用户和退房结束,你不能告诉。我甚至混合和匹配。基本上,如果它在Modules中找到它,它将使用Module说的内容,但如果不是,它会假定它是一个子目录并尝试这样做。

模块的一个真正的优点是,客户端可以在结帐之前列出模块,这可以是好的和有用的。但是,如果您已经有子目录,并且想要添加该功能,则可以将它们添加到模块文件,以使它们出现在树中的相同位置。

0

如果有项目,特别是与主要项目不相关 - 我会为每个项目创建模块。试着问自己 - 为什么你想把所有东西都分组,甚至不把直接相关的东西放到一个空间中?它会不会更有条理地让事情分离?

有点偏离主题的体验,但可能仍然有用:有时也有单独的模块更易于在IDE中管理。例如。蚀。我有两种方式的经验 - 并将每个项目作为单独的模块 - 使标签管理稍后更容易 - 标记/浏览现有标签...

0

我混搭。

E.g.我CVS的我的主目录大约20年。 (现在我用的是hg和/或git。)

不仅仅是我的主目录,还有很多不同的项目和工具。无关紧要,除了我为之工作的事实。所有这些都生活在我的主目录下,像〜glew/src

子目录维护的开销较小。

如果您需要将几个子目录汇编到一个逻辑模块中,模块就是您所需要的。

E.g.我的一些工具存在于〜/ src/tool1,〜/ src/tool2等地方。

他们中有些人有着共同的东西〜/ src目录/我-lib的

我不希望人们有结帐所有〜GLEW/src目录,只是为了使用〜/工具1。即我希望他们只能通过tool1签出,并通过这样做来获得他们所需的一切。我不希望他们必须签出〜/ src/tool1,然后〜/ src/my-lib,然后〜/ src/my-lib2 ...

所以我创建一个模块,使用&,所以当他们签出tool1时,他们也会将〜/ src/my-lib实例化为tool1/import/my-lib。等等。