あなたの唯一の手段は、sourceBranchとtargetBranch &を入力として受け取るアプリケーションを作成して、最新のものをプログラム間でマージしようとすると思います。次に、競合を問い合わせ、それらが所属するチェンジセットを見つけて、最終的にチェンジセットオーナーに電子メールを送ります。
ユージンZakhareyevの作品に大きく以下の塩基がhereが見つかりました:あなたの応答のための
using System;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client;
namespace DetectConflicts
{
class Program
{
static void Main()
{
TfsTeamProjectCollection teamProjectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://TFS:8080/tfs/{Collection}"));
var versionControl = teamProjectCollection.GetService<VersionControlServer>();
const string sourceBranch = "$/PathToFROMBranch";
const string targetBranch = "$/PathToTOBranch";
Workspace myWorkspace = versionControl.GetWorkspace("WorkspaceName", "{DOMAIN}\\YourName");
GetStatus getStatus = myWorkspace.Merge(sourceBranch,
targetBranch,
null,
null,
LockLevel.None,
RecursionType.Full,
MergeOptions.None);
Conflict[] conflicts = myWorkspace.QueryConflicts(new[] {targetBranch}, true);
foreach (var conflict in conflicts)
{
string owner = versionControl.GetChangeset(conflict.TheirVersion).Owner;
//
//send an email to "owner"
//
...
}
}
}
}
感謝を。開発者ではありません。可能であれば、あなたは私に正確な解決策を教えてください。 –