TFS check in timeout of changeset containing “larger” binary files

后端 未结 1 913
说谎
说谎 2021-01-06 01:40

I\'m performing a TFS Integration migration from tfs.visualstudio to an on-premise 2012 server. I\'m running into a problem with a particular changeset that contains multip

相关标签:
1条回答
  • 2021-01-06 02:26

    After spending some time with IL DASM poking around in Microsoft.TeamFoundation.VersionControl.Client.dll FileUploader, I discovered in the constructor the string VersionControl.UploadChunkSize. It looked like it is used to override the default chunk size (DefaultUploadChunkSize = 0x01000000).

    So, I added this to TfsMigrationShell.exe.config

    <appSettings>
        <add key="VersionControl.UploadChunkSize" value="2097152" /> 
    </appSettings>
    

    and ran the VC migration again -- this time it got past the problem changeset!

    Basically the TFS client DLL will try and upload multiple files simultaneously (9 in my case). Your upload bandwidth will be split among the files, and if any individual file transfer cannot complete 16MB in 5 minutes, the operation will fail. So you can see that with modest upload bandwidths, changesets containing multiple binary files can possibly timeout. The only thing you can control is the bytecount of each 5 minute timeout chunk. The default is 16MB, but you can reduce it. I reduced mine to 2MB.

    I imagine this could be done to devenv.exe.config to deal with the same problem when performing developer code check ins. Hopefully this information will help somebody else out and save them some time.

    0 讨论(0)
提交回复
热议问题