我们正在将 TFS 存储库迁移到 Mercurial,因为我们已经受够了 TFS。不幸的是,TFS 在让我们离开之前向我们扔了最后一个曲线球。我们已经编写了一个脚本,我们打算“获取”每个变更集(包括时间戳、 checkin 注释等),然后将它们添加到 Mercurial 存储库并 checkin 。
不幸的是,当我们执行 tf get * /version:C111 /overwrite
时,TFS 表现得很奇怪。命令。它立即返回“所有文件都是最新的”。但这是不可能的。工作区文件夹是空的!并查看 111
的详细信息变更集很清楚地表明变更集包含“东西”,即 repo 肯定不是空的。
什么可能导致这种情况?
最佳答案
如果 itemspec,TF 将返回“所有文件都是最新的”找不到你传入的。如果不包含绝对路径,则假定为相对路径。
例如,如果您发送
tf get myFile.cs /version:1009 /force
它在当前目录中查找不存在的 myFile.cs,因此它返回“所有文件都是最新的”。我们真正想要的是
tf get C:\myproject\myFile.cs /version:1009 /force
通配符也一样,例如
tf get D:\project\* /version:C111 /overwrite
查看 itemspec链接以获取更多信息。
关于TFS get 命令错误返回 "All files are up to date.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4649290/