我工作的一個項目團隊和我們的應用是在TFS。我試圖確定每個團隊成員負責的代碼行數。在TFS中,我知道Visual Studio界面中的Annotate功能,它允許您查看最後一次修改每行代碼的人,因此我知道TFS具有此信息。編程訪問TFS註解來確定所有者
我寫它訪問我的TFS項目及其所有文件小控制檯應用程序,但我現在需要以編程方式訪問註解,所以我可以看到誰的每一行的所有者。這裏是我現有的代碼:
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client;
public class Program
{
static void Main(string[] args)
{
var credentials = new NetworkCredential(username, password, domain);
var server = new TfsTeamProjectCollection(new Uri(serverUrl), credentials);
var version = server.GetService(typeof(VersionControlServer)) as VersionControlServer;
var items = version.GetItems(projectPath, RecursionType.Full);
var fileItems = items.Items.Where(x => x.ItemType == ItemType.File);
foreach (var fileItem in fileItems)
{
var serverItem = fileItem.ServerItem;
//TODO: retrieve and parse annotations
}
}
}
我似乎無法弄清楚如何檢索註釋一旦我有TFS項目。 This鏈接介紹瞭如何通過調用TFPT做,但是做起來(tfpt annotate /noprompt <filename>
)之後,你只給最後的變更和代碼每行,而不是主人。
我還發現了一個Microsoft.TeamFoundation.VersionControl.Server命名空間中有一個Annotation
類。我在我的機器上安裝了TFS以訪問該DLL,但似乎對此問題沒有任何幫助。
你怎麼能編程方式訪問TFS的註釋,以確定文件的代碼行的老闆?
http://stackoverflow.com/questions/74526/tfs-annotate-blame-summary-report-for-a-project – CodeCaster
@CodeCaster:哈。我剛剛更新了你的評論。答案不是真的答案... – im1dermike
你能解釋它是如何沒有幫助嗎?如果這是真的,那麼沒有內置的方法來做到這一點,也沒有任何工具(注意直接要求工具是脫離主題)。然而,你可以使用TFS API並編寫一個這樣的小程序。 – CodeCaster