7

コマンドラインコマンド「tf merge」を使用して、TFS 2010 で変更セットをマージする方法を知っています。

コードを使用して C# でこれを行う方法はありますか。一度に 1 つずつ、特定の変更セットのみ (チェリー ピック) をマージしたいと考えています。

4

1 に答える 1

8

これは、2010または2012TFSオブジェクトモデルを使用している場合の大まかな方法​​です。ご不明な点がございましたら、お気軽にお問い合わせください。

// 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 に答える