我正在尝试使用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
没有帮助我的情况 - 因为它只返回当前目录中的最新变更集。
答案 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时使用您的域名登录名和计算机名替换空值是个好主意。