在TFS中从一个解决方案向前和向后集成

问题描述 投票:3回答:2

我刚刚将我的代码从Perforce迁移到了TFS。一切看起来都不错,但有一个问题是从一个解决方案到另一个解决方案的正向和反向集成。这是我的表演限制。

有两种不同的解决方案,两种解决方案共有两个项目,但各自有不同的副本。因此,前向集成将整合从sol1到sol2的应用程序,以解决常见项目中的冲突。解析后,将代码合并回解决方案1(反向集成)。需要理解的是,只有普通项目需要合并,其他一切都可以排除。

可以在TFS中进行类似的设置吗?

tfs2013 branching-and-merging tfvc
2个回答
1
投票

是的,这种情况在TFVC中是可能的,但不是很常见。你有几个选择:

  1. 在解决方案级别创建分支根目录,并将解决方案1中的文件合并到解决方案2中。作为合并操作的一部分,排除您不想合并的文件。稍后您可以在文件夹级别向后和向前合并。
  2. 创建文件夹关系,但不要将文件夹转换为分支根。这允许您随时将一个文件夹与另一个文件夹合并,但不会将这些文件夹本身显示为分支
  3. 在每个项目级别创建分支根,并单独合并每个项目。这有一些缺点(因为在这种情况下你不能分支整个解决方案,因为分支根不能嵌套)。

或者你可以用不同的方式解决问题:

  1. 创建一个单独的解决方案,其中包含公共代码并使用包管理(NuGet package publishing)来共享两个解决方案之间的依赖关系(基本上创建3个解决方案)。
  2. 使用工作空间映射将公共代码保留在版本控制中的单个位置,并将代码映射到磁盘上的不同位置。您可以在代码中使用编译器指令或配置或不同的抽象(接口,抽象类)来将源代码编译为不同的版本。

0
投票

我得到的确切解决方案或多或少是你提供的第一个选择Jesse。基本上我们需要为其中一个解决方案创建公共项目,然后将它们分支到另一个解决方案中。在稍后的时间点,我们可以将它们从解决方案1到2合并,检查解决方案2中的合并文件,然后从解决方案2合并到1并检查解决方案1中的合并文件。

© www.soinside.com 2019 - 2024. All rights reserved.