迁移到新工作区时 TFVC 源代码控制绑定无效
TFVC source control binding invalid when migrating to new workspace
我要换一台新机器,并希望保持我的 TF 文件原样。因此,我只是将整个文件夹复制到新机器的(与之前的机器相同 - C:\TF),将其映射到 TF 服务器的根目录,并尝试从文件资源管理器打开一个解决方案,希望它能绑定更多或自动减少。
然后我 运行 进入与其他地方描述的其他问题类似的问题,例如 here and here。 VS/TF坚持解决方案和所有项目的绑定是"invalid"。
- 解绑重绑定无效,绑定重现无效
- 重新创建工作区无效。
- 解决方案文件的内容没有什么好笑的。
- 相对路径是正确的 - 如果我删除绑定并尝试 添加 文件到源代码管理,它会覆盖源代码管理资源管理器中已经存在的文件(项目之前显示为灰色的 "Not Downloaded" 变为白色,并带有 "add" 待更改)。
- 尝试将工作区映射到 "fake" 指向新机器硬盘驱动器的网络驱动器(以防 TF 混淆相同的路径),仍然是一样的。
- 删除 Team Foundation 的 AppData 设置无效。
但是,当我对解决方案文件夹执行 get 操作时,绑定突然变得健康了。最后我执行了 get,删除了所有新文件并将旧机器上的文件放回原来的位置。 VS/TF 显然当时绑定没有问题。不过,这是实现这一目标的一种相当不方便的方式。
我不得不得出结论,TF 不希望 我在没有首先在该工作区中执行 get 的情况下将我自己的本地文件绑定到源代码管理,即使文件路径匹配服务器上的内容。问题:这是为什么?我在概念上做错了什么吗?做错了吗?这种行为是该工具的防白痴功能,还是只是一种限制?
你做错了:/。 | 这是一个功能,而不是错误。
工作区已在 VSTS/TFS 服务器以及本地工作区缓存中注册。将文件夹移动到新机器(和相同的文件夹位置)后,您需要告诉 VSTS/TFS 这些文件现在所在的新计算机名称。
您必须 运行 tf vc workspaces /updateComputerName:oldComputerName workspacename
更新服务器上的工作区注册。
但恐怕您需要在使用新映射覆盖工作区之前执行此操作。
现在我认为唯一的选择是使用取消绑定选项,保存所有,然后再次打开源代码管理菜单并重新绑定解决方案中的所有项目。或手动编辑解决方案文件 (there's a tool for it as well)。
我要换一台新机器,并希望保持我的 TF 文件原样。因此,我只是将整个文件夹复制到新机器的(与之前的机器相同 - C:\TF),将其映射到 TF 服务器的根目录,并尝试从文件资源管理器打开一个解决方案,希望它能绑定更多或自动减少。
然后我 运行 进入与其他地方描述的其他问题类似的问题,例如 here and here。 VS/TF坚持解决方案和所有项目的绑定是"invalid"。
- 解绑重绑定无效,绑定重现无效
- 重新创建工作区无效。
- 解决方案文件的内容没有什么好笑的。
- 相对路径是正确的 - 如果我删除绑定并尝试 添加 文件到源代码管理,它会覆盖源代码管理资源管理器中已经存在的文件(项目之前显示为灰色的 "Not Downloaded" 变为白色,并带有 "add" 待更改)。
- 尝试将工作区映射到 "fake" 指向新机器硬盘驱动器的网络驱动器(以防 TF 混淆相同的路径),仍然是一样的。
- 删除 Team Foundation 的 AppData 设置无效。
但是,当我对解决方案文件夹执行 get 操作时,绑定突然变得健康了。最后我执行了 get,删除了所有新文件并将旧机器上的文件放回原来的位置。 VS/TF 显然当时绑定没有问题。不过,这是实现这一目标的一种相当不方便的方式。
我不得不得出结论,TF 不希望 我在没有首先在该工作区中执行 get 的情况下将我自己的本地文件绑定到源代码管理,即使文件路径匹配服务器上的内容。问题:这是为什么?我在概念上做错了什么吗?做错了吗?这种行为是该工具的防白痴功能,还是只是一种限制?
你做错了:/。 | 这是一个功能,而不是错误。
工作区已在 VSTS/TFS 服务器以及本地工作区缓存中注册。将文件夹移动到新机器(和相同的文件夹位置)后,您需要告诉 VSTS/TFS 这些文件现在所在的新计算机名称。
您必须 运行 tf vc workspaces /updateComputerName:oldComputerName workspacename
更新服务器上的工作区注册。
但恐怕您需要在使用新映射覆盖工作区之前执行此操作。
现在我认为唯一的选择是使用取消绑定选项,保存所有,然后再次打开源代码管理菜单并重新绑定解决方案中的所有项目。或手动编辑解决方案文件 (there's a tool for it as well)。