【发布时间】:2016-01-07 23:50:20
【问题描述】:
我们最近转移到了 TFS2015,并且正在评估使用 git over TFVC。我们很快意识到,“一个大仓库”方法在持续集成中根本不起作用,因为 TFS 目前不支持 CI 构建定义监控 git 仓库中的子目录。
所以我们尝试使用多个 repos,每个解决方案一个,并使用子模块来处理依赖关系。通用布局:
CommonLibraryRepo
Component1Repo
----Submodule pointing to CommonLibraryRepo
等等。每个组件的 repo,以及其中每个引用组件的子模块。
构建能够很好地检索“Component1Repo”以及“CommonLibraryRepo”子模块。当我们想在 Visual Studio 中从 TFS 克隆时,就会出现问题。我们按“连接”,选择存储库,然后在本地克隆它,但子模块文件夹只是空的。我刚刚更新到VS2015 Enterprise update 1,但问题似乎没有解决。
这里似乎已经请求了该功能:
根据那里的 cmets,它似乎已经实际实施(参见 'Daniel' 和 'MMmmm' 的 cmets。)不过,我得到了不同的结果。
我的具体问题:
- 是否可以在 Visual Studio 中进行递归克隆、检索子模块(不使用 git cli)?
- 是否有更好的 repo 结构(使用子模块或不使用子模块)来支持多个解决方案,它们之间有引用,同时仍然能够利用当前的 TFS2015 CI 限制?
【问题讨论】:
-
Visual Studio 2015 Update 2 支持子模块。
标签: git visual-studio-2015 tfs-2015