如何监视TFVC分支以添加文件夹?

时间:2018-01-30 21:39:10

标签: tfs tfvc tf-cli

如果在TFVC的分支下直接添加了新文件夹,我正在寻找能让我知道的东西。我尝试使用tf客户端,但我可以获取更改集并获取历史记录,但我找不到我想要的内容。

我想要的是,假设有一个TFS分支TestBranch我的脚本将定期轮询该分支并返回文件夹名称,如果在该分支下直接添加了新文件夹(子文件夹应该是忽略)。

这有什么命令吗?或者我应该如何努力达到我想要的结果?

注意:我们正在使用TFS 2015.此外,我尝试查看TFS服务挂钩,因此我不必轮询分支,但创建服务挂钩需要管理员访问权限,而我没有。

1 个答案:

答案 0 :(得分:0)

没有这样的内置触发器来实现这一目标。

但是您可以尝试列出特定分支目录下的文件夹(本地工作区,您需要每次都获得最新版本)并将列表输出到文本文件,然后比较文本文件并定期/及时输出差异根据您的要求根据需要。

您可以尝试以下PowerShell脚本示例来实现: (第一次运行脚本会报告错误,例如“get-content : Could not find a part of the path 'C:\LC\temp\'”,只需忽略它。它将从第二次起作用。)

#Create a folder to store the output text files first, "C:\LC\temp" for example here.
$TempFolder = "C:\LC\temp"

$LocalBranchFolder = "C:\Workspaces\0418Scrum\WorkItemComments" #the path of the branch in local workspace.

$filename = (Get-Date).ToString("yyyyMMdd-HHmmss") + "_" + "FolderList"

$OldFileName = Get-ChildItem -Path $TempFolder | Select-Object -Last 1
$OldFile = "$TempFolder\$OldFileName" 
$NewFile = "$TempFolder\$filename.txt"

write-host $OldFile

#List all the folders under the specific branch (branch folder in local workspace)
Get-ChildItem -Path $LocalBranchFolder –Directory  | Out-File -FilePath $NewFile -Width 200

#Compare the folder lists and output the differents (New added folder)
compare-object (get-content $OldFile) (get-content $NewFile) | format-list

enter image description here