2011-06-21 10 views
5

TFS 2010'daki bir değişiklik kümesindeki tek tek dosyalar için kod kaydı bilgilerini (satır eklenmiş, değiştirilmiş, silinmiş) programlı olarak arayabilmem gerekir. Bunu yapmam gereken program bir masaüstü istemci uygulamasıdır.TFS 2010'daki bir değişiklik kümesindeki tek tek dosyalar için kod karma bilgisini nasıl programlı olarak arayabilirim?

Bunu nasıl yapacağını bilen var mı? Paylaşmak istediğiniz örnek kodunuz var mı?

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); 
:

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

Ürün aşağıdaki sahiptir:

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; } 

Değişim aşağıdaki sahiptir:

 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; 
      } 
     } 

değişiklik kümesi aşağıdaki sahiptir: Burada

cevap

8

bir başlangıç ​​noktasıdır
İlgili konular