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