CVS:模块与子目录

时间:2010-03-17 22:06:07

标签: cvs

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

  1. 方法#1模块

    • CVSROOT
      • 主要项目
      • 平台A子项目1
      • 平台A子项目2
      • 平台B子项目3
      • ...
  2. 方法#2子目录

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

3 个答案:

答案 0 :(得分:1)

从用户和结账端,你无法分辨。我甚至混合搭配。基本上,如果它在模块中找到它,它使用模块所说的,但如果没有,它假定它是一个子目录并尝试。

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

答案 1 :(得分:0)

如果有项目,特别是与主要项目无关的项目 - 我会为每个项目创建模块。试着问问自己 - 你为什么要将所有东西,甚至不是直接相关的东西分组到一个空间?将事物分开会不会更加结构化?

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

答案 2 :(得分:0)

我混合搭配。

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

不仅仅是我的主目录,还有许多不同的项目和工具。不相关,除了我为他们工作的事实。所有这些都存在于我的主目录下,例如~glew / src

子目录维护的开销较小。

如果需要将多个子目录组装到单个逻辑模块中,则需要模块。

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

其中一些人有共同的东西〜/ src / my-lib

我不希望人们只需要使用〜/ tool1来检查所有~glew / src。即我希望他们能够只检查tool1,并通过这样做获得他们需要的一切。我不希望他们必须签出〜/ src / tool1,然后〜/ src / my-lib,然后〜/ src / my-lib2 ...

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