Получить последнюю версию папки из TFS, используя Powershell
Я пытаюсь " Получить последнюю версию " определенной папки из TFS, используя Powershell.
Я установил TFS Snappin и использовал командлеты TFS Power Tools в PowerShell (например, Get-TfsChildItem, Select-TfsItem и т. Д.) [ Как настроить TFS PowerShell Snapin ] и изучил их документацию (которую я не делал). не найти достаточно объяснений!).
Смущен тем, какой именно командлет использовать, когда я пытаюсь получить последнюю версию всей структуры папок из TFS, которая сопоставлена с моим локальным диском (а не только с набором изменений или ChildItem).
Пример: путь Tfs - $/APD-RepairSolutions/Main/Database
Сопоставленный путь - D:\TFS\APD-RepairSolutions/Main/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 ответа
Чтобы получить последние (tf get
) использовать Update-TfsWorkspace
,
Get-TfsChangeset
является эквивалентом tf changeset
,
Если вы хотите использовать вместо этого TFS API, вы можете использовать метод Workspace.Get:
# Load the TFS assemblies
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.Client")
$ws = $vcServer.QueryWorkspaces("<WORKSPACENAME>", $null, $null);
# Specify properties of intended workspace get
$recursionType = [Microsoft.TeamFoundation.VersionControl.Client.RecursionType]::Full
$latestVersion = [Microsoft.TeamFoundation.VersionControl.Client.VersionSpec]::Latest
$getOptions = [Microsoft.TeamFoundation.VersionControl.Client.GetOptions]::GetAll
# Get what I want!
$ws.Get("$/Remote/Folder", $latestVersion, $recursionType, $getOptions)
Было бы неплохо заменить пустые значения именем вашего домена и именем компьютера при запросе рабочих областей.
Попался! с обновлением-TFSWorskpace. Также имеет несколько полезных параметров. -Items используется для указания точных элементов, которые вы хотите обновить.
PS D:\Tfs\APD-RepairSolutions\Main>Update-TFSWorkspace -All -Overwrite -Force -Recurse -Items .\Database
Рабочая область заменена обновленными версиями элементов. Спасибо @Kmoraz!