工作了很长时间而没有版本控制后,我试图重构我的一个旧项目并尝试学习如何使用TFS。目前我有以下(简化的)结构:在TFS上跨团队项目使用共享库
$/Application
$/Application/Main (Branch)
...
$/Application/Main/Source
$/Application/Main/Source/Application
$/Application/Main/Source/SharedBinaries
$/Application/Main/Source/SharedSource
$/Application/Main/Source/SharedSource/Library1
$/Application/Main/Source/SharedSource/Library1/Include
$/Application/Main/Source/SharedSource/Library2
$/Application/Main/Source/SharedSource/Library2/Include
$/Application/Main/Source/Tool1
$/Application/Main/Source/Tool2
...
$/Application/Development (branched from Main)
Application
的中的源驻留在$/Application/Main/Source/Application
,同时存储在$/Application/Main/Source/SharedBinaries
二进制依赖诸如*.lib
和*.dll
文件。在$/Application/Main/Source/SharedSource
中,每个使用的库应该有一个目录。现在,这些只是第三方库,因此它们只提供必要的包含文件并且根本不提供源代码。
现在我想创建一个名为ClassLibrary
的公共库的新团队项目。 Application
将使用它,但也有其他应用程序,这样直接集成库肯定没有好的设计。类同应用程序本身,我们有这个层次:
$/ClassLibrary
$/ClassLibrary/Main (Branch)
...
$/ClassLibrary/Main/Source
$/ClassLibrary/Main/Source/ClassLibrary
...
$/ClassLibrary/Development (branched from Main)
我的第一个尝试是分支$/ClassLibrary/Main/Source/ClassLibrary
到$/Application/Main/Source/SharedSource
,使得更新的lib,所有其他项目得到这样的合并发展,以主要更新版本然而,这并不工作,这是一个迹象,我不知道如何构建这个权利。 在不同团队项目边界处理这些共享内容和库的一般方法是什么?
注意:是的,这个问题是一个的另一个版本我问昨天,我已经删除完全更新此。