2013-11-15 60 views
6

我一直在使用Team Foundation Server 2012來獲取正在工作的數據倉庫項目的持續集成構建。在這樣做的時候,我注意到標籤和標籤的建設沒有產生我期待的結果。在研究該問題時,我只能使用Team Foundation Server命令行工具提供的命令行參數來複制該問題。這幫助我消除了構建定義中可能影響構建的任何內容。TFS標籤不一致

所以這是我的問題: 我有一個構建是在一個構建中構建2個不同的項目。它基本上有兩個與它關聯的* .SLN文件。我爲2個資產應用了一個標籤,每個項目都有一個。然後我可以執行命令查看哪些資產具有該標籤。當這樣做時,我會得到預期的結果。但是,當我執行命令以獲取與此標籤關聯的資產時,它只會拉出兩個文件中的一個。我已驗證我可以通過刪除其中一個項目來拖拽這兩個文件。這是我與構建定義,工作空間和標籤

TFS路徑的建立:
$ /開發/ PROJECT1
$ /開發/ Project2的

工作區映射
Project1:C:/ SourceControl/Project1
Project2:C:/ SourceControl/Project2

DeploymentFolder
PROJECT1:// DevServer/SSIS/PROJECT1
Project2的:// DevServer/SSIS/Project2的

執行的命令:
應用標籤
TF標籤TestLabel $/DEV/PROJECT1 /PackageA.dtsx
TF標籤TestLabel $/DEV/Project2中/ PackageA.dtsx

評論標籤:
TF實驗室ELS /格式:詳細LTestLabel

得到標籤:
TF獲得/ R /版本:LTestLabel

執行TF得到命令後,我得到下面的結果

部署文件夾: // DevServer/SSIS/Project1包含文件PackageA.dtsx
部署文件夾: // DevServer/SSIS/Project2包含0個文件。

看來,在具有相同標籤的不同項目中拉動資產時,會出現過濾器或限制。我希望如果我將標籤應用於TFS中的任何資產,然後拉動標籤,它應該允許我檢索具有該應用標籤的所有資產。有沒有人聽說過或經歷過這個?任何幫助提供將不勝感激。

回答

2

不指定什麼(地方),你當你執行獲取文件夾:既然你不指定一個文件夾來獲取,這意味着目前的一個,相當於:

tf get /recursive /version:Llabelname . 

如果你想同時獲得,指定含有一個目錄,例如:

tf get /recursive /version:Llabelname $/ 

這當然,假設兩者在標籤中的文件映射。