我正在尝试将大型项目的完整历史记录从Visual SourceSafe 2005迁移到TFS 2013.我使用Visual Studio 2013安装了该向导,并从本地计算机迁移到远程办公室的TFS服务器。
该向导将浏览Visual SourceSafe中的历史记录,并从VSS签入组创建TFS更改集。迁移顺利进行,直到它到达一大组文件,其中一些是大型二进制文件,然后给出以下错误:
" [错误@time_of_error]:请求已中止: 请求已被取消。"
然后,向导将进入等待一段时间的循环,重试并运行错误,直到我取消迁移。
这是尝试使用Visual Studio手动将一组大型二进制文件提交到TFS时出现的相同错误。我无法提交一组总计252 MB的文件。下面这个链接给出的答案告诉我,减少http分块大小就可以了。
TFS check in timeout of changeset containing "larger" binary files
添加...
<add key="VersionControl.UploadChunkSize" value="1048576" />
到&#34; appSettings&#34;部分&#34; C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ devenv.exe.config&#34;将块大小减少到1 MB,并允许我使用Visual Studio 2013提交一组总计1.16 GB的二进制文件。
我的理论是,向导将一大组文件放入变更集,并尝试将该变更集提交给TFS。但是,当其中一个文件在超时内未达到块大小时,提交将失败并导致向导进入循环。
我在devenv.exe.config和TF.exe.config中添加了修复程序,重新启动了迁移,并遇到了同样的超时错误。我能够在Visual Studio中手动提交问题变更集,而向导则不能。
我的问题:
是否可以更改Microsoft的VSS升级向导执行HTTP分块的方式? (我对devenv.exe.config和tf.exe.config的更改似乎没有什么区别)
答案 0 :(得分:2)
我在VSS升级程序文件中找到了两个配置文件:
VssToTfs.exe.config 和 VssUpgrade.exe.config
然后在配置中添加了缺少的部分:
<appSettings>
<add key="VersionControl.UploadChunkSize" value="512000" />
</appSettings>
执行此操作后,迁移继续并完成,而不会遇到超时错误。对于我的情况,将http分块值减少到500 kb允许VSS升级向导提交迁移中涉及的大变更集。