我正在尝试将构建脚本从使用SourceSafe更改为TFS,而不使用MsBuild(尚未).
一个小问题是工作区目录由脚本重命名和存档,这使得TFS认为它不需要获取任何文件.即使使用/ force标志,它也只是获取目录而不获取源文件.
我目前正在使用
TF.exe get "Product/Main/Project1" /force /recursive /noprompt
Run Code Online (Sandbox Code Playgroud)
为了节省我在脚本中管理工作空间或使用中间目录,有没有人知道可以获取目录和代码而无需工作空间的命令?
Gra*_*day 14
tf get没有工作空间就无法运行.原因是服务器需要知道服务器路径和本地路径之间的映射.
如果您正在处理大量文件,那么以下内容不是一个好主意:
原因是每次执行此操作时Get,服务器都会跟踪哪些文件下载到哪个工作区的文件.如果您从未清理这些工作区,那么存储此信息的表将随着时间的推移而增长.
此外,如果您一直在创建和删除工作区,则服务器必须写入所有这些行,然后在完成后删除它们.这是不必要的.
你真的应该尝试每次重用相同的工作区.如果这样做,服务器非常有效率,只发送自上次下载以来已更改的文件.即使您的构建正在从一个分支移动到另一个分支,您也可以使用tf get /remap,如果分支共享公共文件,则有时效率更高.
虽然它无法解决您的问题,但可以在没有工作空间的情况下列出文件和下载文件.
列出文件:
tf dir $/Product/Main/Project1 /R
Run Code Online (Sandbox Code Playgroud)
要下载文件:
tf view $/Product/Main/Project1/file.cs
Run Code Online (Sandbox Code Playgroud)
使用创意批处理文件,您可以将这两个字符串与FOR命令串在一起.但是我建议首先尝试解决您的工作区问题,因为这是TFS的使用方式.
| 归档时间: |
|
| 查看次数: |
11477 次 |
| 最近记录: |