2010-09-22 21 views
3

Nous aimerions générer des notes de construction avec le format suivant:Comment le champ Change.MergeSources est-il renseigné dans TFS?

1) Associated ChangeSets: 
2) - ChangeSet 45241, by Joe: "Patching fix for foobar" 
3)  'Foo.cs' integrated from dev v. 22 to qa v. 7 
4)  'Bar.cs' integrated from dev v. 9 to qa v. 3 

Jusqu'à présent, nous avons une étape de génération personnalisée qui accomplit 1) et 2). Il examine les informations produites par l'activité de construction TFS 'AssociatedChangesetsAndWorkItems'. Voici le code:

protected override bool Execute(CodeActivityContext context) 
{ 
    StreamWriter sw = new StreamWriter(Path.Combine(BuildNotesPath.Get(context),"build-notes.txt")); 
    sw.WriteLine("Associated ChangSets:"); 
    foreach (Changeset changeset in BuildAssociatedChangesets.Get(context)) 
    { 
     sw.WriteLine(string.Format("ChangeSet {0}, by {1}: {2}", changeset.ChangesetId, changeset.Committer, changeset.Comment));    
     foreach (Change change in changeset.Changes) 
     {    
      foreach (MergeSource source in change.MergeSources) 
       sw.WriteLine(string.Format("\'t{0}': integrated from dev v. {1} to qa v. {2}", source.ServerItem, source.VersionFrom, source.VersionTo)); 
     } 
    } 
    sw.Flush(); 
    sw.Dispose(); 
    return true; 
} 

Le problème que nous avons est que le champ 'MergeSources' est toujours une liste vide. Que devons-nous faire pour que ce champ soit rempli?

Répondre