2016-04-19 45 views
1

我正在嘗試使用PowerTools更新-TfsWorkspace,正如標題所示,它不起作用。PowerTools更新-TfsWorkspace不會最新

例如,我有一位同事將文件檢入$/Contoso/Dev/Test。在源代碼管理中,我可以看到它變成灰色,表示它在那裏,但我沒有下載它。所以我做了以下。

C:\TFS\Contoso\Dev> Update-TfsWorkspace -All -Overwrite -Force -Recurse -Item .\Test 

該命令立即執行並不執行任何操作。沒有錯誤輸出或任何東西。它並沒有最新。如果我進入VS Source Control並手動獲取最新版本,它會抓取預期的文件,但理想情況下它應該告訴我所有文件都是最新的。有沒有人使用此cmdlet獲得成功或使用PowerTools從Powershell獲取最新操作?

回答

1

Update-TfsWorkspace應該在powershell腳本或powershell cmdlet中使用。如果您有多個工作區,則可能無法工作。

試試下面的方法:

$tfsCredential = Get-Credential; 
$tfsServer = Get-TfsServer -Name "https://tfs.xxx.com:443/tfs/teamproject" -Credential $tfsCredential;; 
$tfsws = Get-TfsWorkspace -Server $tfsServer -Computer $hostname -Owner $tfsCredential.UserName; 
$tfsPath = $tfsws.GetServerItemForLocalItem($filename); 
$prop = Get-TfsItemProperty -Item $tfsPath -Server $tfsServer -Workspace $script:tfsws; 
$tfsws.Get(@($tfsPath), [Microsoft.TeamFoundation.VersionControl.Client.VersionSpec]::Parse($prop.VersionLatest,  $script:tfsws.OwnerName)[0], [Microsoft.TeamFoundation.VersionControl.Client.RecursionType]::Full, [Microsoft.TeamFoundation.VersionControl.Client.GetOptions]::None) 

此外,更新就可以直接使用tf get command工作區。如:

C:\TFS\Contoso\Dev> tf get itemspec .\Test /noprompt 
+0

我在多個工作區工作。解決的辦法是將'cd'放入映射的文件夾,然後'tf get'。 'workfold'幫助看到了映射。 – HockeyJ