Git-tfs克隆挂起从依赖的TFS远程 - 无尽循环获取?

时间:2015-11-09 15:12:43

标签: git-tfs

我正在尝试使用以下命令克隆Visual Studio Online中托管的整个TFVC存储库:

  

git tfs clone --with-branches --export-work-item-mapping =“ {mapping file path} ”https:// {project name} .visualstudio.com / DefaultCollection“$ / {project} / {branch}

到目前为止,这对我来说有几个项目,但上周末我遇到了一个问题......

过程的开始看起来和其他项目一样,但是大约3个小时之后,控制台输出只是每20分钟左右重复以下两行:

=> Working on TFS branch : $/{source project}/{main branch}
    Fetching from dependent TFS remote '{branch}'...

我让它做了大约40个小时,它只是继续做同样的事情。

我使用--debug选项重新运行了克隆,并且在它挂起之前获取输出的最后一行看起来像这样:

get [c4002]$/{project}/{branch}/{file location}/{file name with extension}

我可以看到这个文件没有什么特别之处,但是看看变更集4002,我可以看到那里有一个source rename。我已经看到有关使用git tfs重命名的问题,但它们似乎都是根据github线程解决的。

有没有人碰到这个?没有错误输出,它似乎只是一遍又一遍地重试......

git tfs版本:0.23.0.0(TFS客户端库12.0.0.0(MS))(64位)

git version 1.9.5.msysgit.1

2 个答案:

答案 0 :(得分:1)

  

我可以看到这个文件没有什么特别之处,但是看看变更集4002,我可以看到在那里应用了源重命名。我已经看到有关使用git tfs重命名的问题,但它们似乎都是根据github线程解决的。

事实上,我在git-tfs中添加了重命名支持,但似乎没有很好地支持重命名的场景(我不确切知道哪一个):-(

坏消息是我不知道如何复制它,我没有时间也没有时间花在它上面(对于其他人来说,因为那样的痛苦理解并支持TFVC!)

不是坏消息是你可以:

  • 使用' -c'在失败的变更集之后克隆选项
  • 困难而未经过测试:快速克隆另一个存储库中的失败变更集,在当前存储库中获取它,使用' graft'或者' git replace'和' filter-branch'修复历史记录并继续使用' git tfs fetch'。艰苦,乏味,长,但应该工作。

答案 1 :(得分:1)

我确认"困难而未经过测试"变量实际上并不那么困难,而且实际上经过了测试。

当git-tfs挂起时,只需使用Ctrl-C停止它,然后移动到新文件夹并使用' -c'继续从主干中克隆。选项。

克隆完成后,您只需使用此处的说明将repos移植到一起:SecondaryNode

简单且经过测试!一遍又一遍!