假设我有以下(所需的)文件夹结构:
*CommonProject
*Project#1
----> CommonProject(link)
*Project#2
----> CommonProject(link)
其中 CommonProject 是属于该项目的源的位置,而 CommonProject(link) 只是到主要位置的软链接。如果我们将其想象为可视客户端中的树视图,如果我展开 Project#1,我将在那里看到 CommonProject 作为子目录,即使文件实际上并未存储在那里。
这样做的目的是启用以下行为:
当我签出 Project#1 时,我得到与该项目关联的文件以及包含其所有文件的子文件夹 CommonProject(好像Project#1 包含版本控制存储库中的文件副本)。现在,如果我要在 Project#1 中修改 CommonProject 的文件并将我的更改提交到存储库,这些更改将进入 CommonProject 位置(实际上没有文件存储在存储库中的 Project#1 下本地)。现在,如果我要同步 Project#2,因为它还包含指向 CommonProject 的符号链接,它现在将获得我的更新。本质上,文件的重复只存在于我的机器上,但在存储库中只有一个版本的 CommonProject。
我知道 Perforce 不能做到这一点,而不需要兼顾 3 个规格。这是非常复杂且容易出错的,尤其是当很多人都这样做时。是否有源代码控制存储库可以做到这一点?(指向一些关于如何完成的文档的指针是一个加号)
谢谢你。