我正在将一个基于VSS的遗留构建脚本移植到TFS。该脚本将文件从几个服务器位置获取到不同的目录...使这个工作在TFS中使用相同的结构我经常映射&取消映射特定的工作文件夹。
这似乎有效,直到脚本将相同的服务器文件放入两个不同的本地文件夹。即使以前的工作文件夹未映射,TFS也会移动文件的现有副本,而不是获得第二个副本。
e.g:
在第7行,我得到“替换file.abc(从c:\ dir1移动)”,最后只得到一份file.abc。
我知道我们的流程不是TFS友好的,但是现在我只是希望它能够工作,所以我们可以放弃VSS,然后专注于重新构建。有没有办法阻止这种行为或我可以使用的解决方法,这不会完全改变我们的过程?
答案 0 :(得分:1)
我认为你无法在TFS中实现这一目标。如果删除工作空间映射,则删除文件。如果您尝试将同一文件映射到2个位置,则会收到错误。
您需要修复构建过程。短期解决方案可能是获取文件一次,然后将其复制到任何其他位置。否则我认为你需要咬紧牙关并重构你的构建过程更简单。无论您使用何种系统,简化您的构建都将为您提供长期的帮助。
答案 1 :(得分:1)
我会采取什么措施让这项工作更快:
答案 2 :(得分:0)
我遇到了同样的问题并且没有在网上找到答案所以我找到了解决方案并写了一篇博文:http://www.softwarepronto.com/2013/09/getting-multiple-labels-from-tfs-using.html。
如果您不想阅读博客,解决方案是在不同的目录中创建工作区(见下文):
MKDIR D:\ATest
CD /D D:\ATest
tf workspace /delete WorkSpaceATest /noprompt
tf workspace /new WorkSpaceATest /noprompt
tf workfold /map $/ATest D:\ATest /WorkSpace:WorkSpaceATest
tf get /version:LATest01
MKDIR D:\BTest
CD /D D:\BTest
tf workspace /delete WorkSpaceBTest /noprompt
tf workspace /new WorkSpaceBTest /noprompt
tf workfold /map $/BTest D:\BTest /WorkSpace:WorkSpaceBTest
tf get /version:LBTest01