如何在TFS中填充Change.MergeSources字段?
我们希望生成具有以下格式的生成说明:如何在TFS中填充Change.MergeSources字段?,tfs,merge,changeset,custom-build-step,Tfs,Merge,Changeset,Custom Build Step,我们希望生成具有以下格式的生成说明: 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 到目前为止,我们有一个自定义构建步骤,可以完成1)和2)。它查看“Associat
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
到目前为止,我们有一个自定义构建步骤,可以完成1)和2)。它查看“AssociatedChangesetsAndWorkItems”TFS生成活动生成的信息。代码如下:
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;
}
我们遇到的问题是,“MergeSources”字段始终是一个空列表。要填充该字段,我们必须做些什么?请查看中的方法,以及获取合并源的示例
雅各布·恩赫(Jakob Enh)回答如下: