2014-03-12 76 views
2

C:\>git tf clone https://companyname.visualstudio.com/DefaultCollection $/companyname/Main OldTFS --deep迁移到TFS从Git的多个分支和他们的历史

这只是让我的主要分支历史。那是git tf

C:\>git tfs clone https://companyname.visualstudio.com/DefaultCollection $/companyname/Main --with-branches

这在合并变更集的一个取几枝说Please report this case to the git-tfs developpers! (report here : https://github.com/git-tfs/git-tfs/issues/461)后失败。 git branch给了我这个

Release/20120719.1 
Sprint/Sprint044 
Sprint/Sprint045 
Sprint/Sprint047 
Sprint/Sprint048 
Sprint/Sprint049 
Sprint/Sprint050 
*master 

我已经高达Sprint085分支机构和相当多的发布分支也。这是git tfs

有没有什么办法与git tf,我可以获取其他几个正确创建合并提交的分支,以便我可以正确地看到历史?

回答

3

Disclamer:我将添加的分支支持的git-TFS的一个...

算了git tf它不支持分支。

这在合并变更集的一个取几枝说我应该告诉他们的信息,使他们能够提高后失败。

也许你应该接着git-tfs给出的链接;)

的联系是this one。在那里的消息,你被告知work in progress有更好的分支支持。

你应该真的尝试它。它的状态非常好,并且支持其他两种分支模式:分支重命名和无基本合并。有了这个最后2种模式,我希望大家可以支持所有的分支模式(但由于TFS是非常--in坏meaning--和大量凌乱suprising,我不能guarranty!)

如果你可以”没有支持所有的分支机构,它仍然是手动完成的方式!但是,很长:

  • 克隆只有在另一个仓库
  • 分公司在主存储库
  • 使用grafts到您的分支链接到它的父分支(你应该在TFS找到manualy取这个分支好。因为TFS是非常糟糕的!)
  • [可选]使用git filter-branch使链接永久。

PS:也许你甚至可以编写一个脚本来自动所有...

+0

我结帐[这](https://github.com/pmiossec/git-tfs/tree/rename_branch)科。但无法编译它。 :( – IsmailS

+0

对不起,现在递归克隆 – IsmailS

+0

我们甚至在TFS中创建了子目录的分支(在我们现在不用的旧分支中),这可能是失败的原因吗? – IsmailS