使用Powershell从TFS获取最新版本的文件夹

时间:2014-03-10 11:02:03

标签: powershell tfs powershell-v2.0 tfs2012 tfs-power-tools

我正在尝试使用Powershell从TFS“获取最新版本”。

我已经安装了TFS Snappin,并且一直在PowerShell中使用TFS Power Tools cmdlet(例如Get-TfsChildItem和Select-TfsItem等)[How do I set up TFS PowerShell Snapin],并且已经完成了他们的文档(我没有找不到足够的解释!)。

混淆,在我要使用的确切cmdlet上,当我尝试从TFS获取整个文件夹结构的最新版本时,映射到我的本地驱动器(而不仅仅是一个更改集或ChildItem )。

示例: Tfs路径 - $ / APD-RepairSolutions / Main / Database

映射路径 - D:\ TFS \ APD-RepairSolutions / Main / Database。

我想要一个代码,它会迭代地获取整个文件夹 Database 的最新版本(包含多个表,存储过程等)。

我正在使用..

PS D:\Tfs\APD-RepairSolutions\Main\Database> $server=Get-TfsServer -Name http://tfs:8080/tfs

PS D:\Tfs\APD-RepairSolutions\Main\Database> Get-TfsChangeset -Recurse -Server $Server

没有帮助我的情况 - 因为它只返回当前目录中的最新变更集。

3 个答案:

答案 0 :(得分:7)

要获取最新信息(tf get),请使用Update-TfsWorkspace

Get-TfsChangeset相当于tf changeset

答案 1 :(得分:2)

疑难杂症!使用Update-TFSWorskpace。还有一些有用的参数。 -Items 用于指定您要更新的确切项目。

PS D:\Tfs\APD-RepairSolutions\Main>Update-TFSWorkspace -All -Overwrite -Force -Recurse -Items .\Database

工作区已替换为更新版本的项目。谢谢@Kmoraz!

答案 2 :(得分:2)

如果您想使用TFS API,可以使用Workspace.Get Method

{ "Joel" : { "City" : Seattle"}}

Querying Workspaces时使用您的域名登录名和计算机名替换空值是个好主意。