7

我知道如何使用命令行命令“tf merge”合并 TFS 2010 中的更改集。

有没有办法可以在 C# 中使用代码执行此操作。我只想合并特定的变更集(樱桃挑选),一次一个。

4

1 回答 1

8

如果您使用的是 2010 或 2012 TFS 对象模型,这大致就是您的做法。如果您有任何问题,请告诉我。

// Get a reference to yourTeam Foundation Server. 
TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(new Uri("http://<yourserver>:8080/tfs/<yourcollection> "));

// Get a reference to Version Control. 
VersionControlServer versionControl = tpc.GetService<VersionControlServer>();

Workspace workspace = versionControl.GetWorkspace("<local path to your workspace>");

string sourceBranch = "$/<sourceBranch>";
string targetBranch = "$/<targetBranch>";
VersionSpec changesetToMerge = new ChangesetVersionSpec(<your changeset here>);

// actually pend the merge
workspace.Merge(sourceBranch, targetBranch, changesetToMerge, changesetToMerge);

// check in the merge
workspace.CheckIn(workspace.GetPendingChanges(), "your comment");
于 2012-08-24T13:57:25.100 回答