Aid*_*yan 5 version-control tfs tfs2010
我们从不同的源控制系统迁移.每个分支的最新文件都签入TFS 2010源代码管理中的文件夹,我们在每个顶级分支文件夹中使用"convert to branch"命令.自初始登记以来,已经在行李箱和分支机构上完成了工作.
但是,我们无法从GUI进行合并,因为TFS无法理解分支之间的关系."reparent"命令不提供任何选项.有没有办法tf merge /baseless /discard /recursive建立关系?这会导致问题,因为在最初的签到之后会有签到吗?
Jam*_*eed 10
我刚刚花了6个月的时间将100个左右的VSS存储库迁移到TFS中,所以我感到很痛苦!我只是在TFS 2008中做到了这一点,但没有理由不在2010年工作.
我会把一个毫无根据的合并视为最后的手段,因为你将无法从命令行进行合并.
诀窍是在导入代码之前建立分支之间的关系.
(我将使用一个简单的单个dev分支作为示例,但无论分支数量多少,您都应该能够使用相同的理论)
创建一个新的团队项目,创建"trunk"然后分支到"dev".你现在应该有两个空分支.
将代码导入"trunk"和"dev".
从"trunk"到"dev"的合并,你几乎肯定会有很多冲突,TFS 应该足够聪明,可以忽略相同的文件和文件夹,但并非总是如此.您需要确定要保留哪些冲突文件(通常是"dev"分支中的文件,但您可能希望有人了解附近的代码以做出决定)
现在你应该有2个分支,其中包含有关系的代码.
如果您有多个"dev"分支,那么我认为您应该始终首先从"trunk"合并到"dev",这将建立关系,并允许您选择将代码版本保留在"dev"中,因为这可能是更近期的"主干"版本
在您的具体情况下,我将按照上述步骤,但不是从文件系统导入您的文件(步骤2),您可以将代码从"旧"团队项目分支到新的,即
分支$/oldTeamProject/Devbranch中$/NewTeamProject/DevBranch和$/oldTeamProject/Trunk中$/NewTeamProject/Trunk
然后合并$/NewTeamProject/Trunk到$/NewTeamProject/DevBranch
我在TFS 2008中做了几次这样做,它就像一个魅力(除了做初始冲突解决的痛苦).说过我会建议进行"测试"迁移,只是为了确保你已经覆盖了所有的角度.如果这样可行,那么你可以保留结果,如果没有,你应该学习一些真正的迁移课程:-)
如果您已重命名任何文件或文件夹,那么TFS将不知道建立关系,并且在合并后您将在"dev"分支中获得重复.如果您在文件夹级别进行无基本合并,则会遇到同样的问题.恐怕没有一个简单的方法.你需要留意任何看起来很像它已被重命名并在合并后手动解决它们的东西.
| 归档时间: |
|
| 查看次数: |
1603 次 |
| 最近记录: |