我正试图通过tf.exe命令行获取TFS中已签出/挂起文件的列表。
- 所有连接的用户都在使用本地工作区
- 使用锁定类型手动签出:签入-允许其他用户签出,但阻止他们签入
- TFS 2013和VS 2013
当我运行powershell脚本时
&"C:\Program Files(x86)\Microsoft Visual Studio 12.0\Common7\IDE\tf.exe"status/user:*
我确实得到了挂起的签出文件的列表,但它也给了我如下的错误消息:tf.exe:如果未提供工作区或该工作区在另一台计算机上,则使用/user选项时将不会显示对本地工作区的更改
有没有办法只获取列表而不抛出错误?我正试图在构建服务器中使用此脚本来检查是否有任何文件已被手动签出。
我知道通过切换到服务器工作区,这个问题将不会出现,这在目前不是一个选项。
感谢
您可以将stderr输出重定向到日志文件,例如:
tf status . /r /user:* 2>tf-status-err.log
您还可以使用Team Foundation Server Power Tools附带的Team Foundation PowerShell管理单元。
Import-Module Microsoft.TeamFoundation.PowerShell
Get-TfsPendingChange . -Recurse -User * | Select -Exp PendingChanges | Format-List *
PowerShell命令很好,因为您不必像解析tf status输出那样解析文本。