2014-06-30 13 views
6

Sto utilizzando l'API client TFS per provare e interrogare un'istanza di TFS 2010. Ho bisogno di essere in grado di effettuare le seguenti operazioniCome ottenere la cronologia di check-in/pacchetti per specifici progetti di team?

  • Per un progetto di squadra specificato, dire 'Progetto A'
  • Ottenere un elenco della storia degli ultimi check-in effettuati a questo progetto (dire l'ultima 50 , o la lista per l'ultimo giorno)

quindi in grado di scorrere questa lista e ottenere alcuni metadati per le voci (nomi di file e cartelle idealmente)

Penso di aver bisogno di usare i metodi QueryXXX nella classe VersionControlServer, ma non può essere finita d qualsiasi esempio utile o chiaro su come usarlo.

Ho visto che esiste il metodo GetLastestChangesetId, ma questo non sembra che possa essere applicato ad un determinato progetto o directory.

+1

Date un'occhiata alla mia risposta qui: http://stackoverflow.com/a/8494788/600559 –

risposta

13

Questo è piuttosto semplice:

var tfsUrl = "http://myTfsServer:8080/tfs/defaultcollection"; 
var sourceControlRootPath = "$/MyTeamProject"; 
var tfsConnection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(tfsUrl)); 
var vcs = tfsConnection.GetService<VersionControlServer>(); 

var changeSets = vcs.QueryHistory(sourceControlRootPath, RecursionType.Full); 

foreach (var c in changeSets) 
{ 
    var changeSet = vcs.GetChangeset(c.ChangesetId); 
    foreach (var change in changeSet.Changes) 
    { 
     // All sorts of juicy data in here 
    } 

} 
+0

Questa domanda ha aiutato molto. grazie –

+0

i succosi dati non includono i workitems associati :( – XtianGIS

+0

@XtianGIS i workitems associati sono sull'oggetto changeSet – McFixit

Problemi correlati