2011-06-21 6 views
5

私は、TFS 2010のチェンジセット内の個々のファイルに対して、コードのチャーン情報(行の追加、変更、削除)を参照できるようにする必要があります。これを行うためのプログラムは、デスクトップクライアントアプリケーションです。TFS 2010のチェンジセット内の個々のファイルについて、コードチャーン情報をプログラムで検索するにはどうすればよいですか?

誰でもこの方法を知っていますか?共有したいサンプルコードがありますか?ここで

答えて

8

は出発点である:

 TeamFoundationServer tfs = TeamFoundationServerFactory.GetServer("http://WhateverServerUrl"); 
     IBuildServer buildServer = (IBuildServer)tfs.GetService(typeof(IBuildServer)); 
     VersionControlServer VsServer = (VersionControlServer)tfs.GetService(typeof(VersionControlServer)); 
     IBuildDetail build = buildServer.GetAllBuildDetails(new Uri("http://WhateverBuildUrl")); 

     List<IChangesetSummary> associatedChangesets = InformationNodeConverters.GetAssociatedChangesets(build); 


     foreach (IChangesetSummary changeSetData in associatedChangesets) 
     { 
      Changeset changeSet = VsServer.GetChangeset(changeSetData.ChangesetId); 
      foreach (Change change in changeSet.Changes) 
      { 
       bool a = change.Item.IsContentDestroyed; 
       long b = change.Item.ContentLength; 
      } 
     } 

チェンジは以下があります。

public Change[] Changes { get; set; } 
    public int ChangesetId { get; set; } 
    public CheckinNote CheckinNote { get; set; } 
    public string Comment { get; set; } 
    public string Committer { get; set; } 
    public DateTime CreationDate { get; set; } 
    public string Owner { get; set; } 

変更は以下があります。

public ChangeType ChangeType { get; } 
    public Item Item { get; } 
    public ReadOnlyCollection<MergeSource> MergeSources { get; } 

項目は次のようにあります。

public Uri ArtifactUri { get; } 
    public Uri ArtifactUriLatestItemVersion { get; } 
    public int ChangesetId { get; } 
    public DateTime CheckinDate { get; } 
    public static IComparer Comparer { get; } 
    public long ContentLength { get; } 
    public int DeletionId { get; } 
    public int Encoding { get; } 
    public byte[] HashValue { get; } 
    public bool IsBranch { get; } 
    public bool IsContentDestroyed { get; } 
    public int ItemId { get; } 
    public Stream DownloadFile(); 
    public void DownloadFile(string localFileName); 
関連する問題