Sharpsvn の Merge メソッドを使用して 2 つのリビジョンをマージすると、競合イベントが発生しません。SvnMergeArgs と SvnUpdateArgs で競合イベントを使用してみました。merge メソッドを呼び出してから、sharpsvn の update メソッドを呼び出しました。マージは作業コピーを古いリビジョンで上書きするだけで、更新はイベントを発生させません。
ここで、競合が発生していないことを見逃しています。以下は私のコードです。
private static void MergingBranchedScript()
{
using (SvnClient client = new SvnClient())
{
client.Merge(@"path\abc.sql",
new Uri("file:///path/Trunk/Script/abc.sql"),
new SvnRevisionRange(4,7), new SvnMergeArgs());
SvnUpdateArgs args = new SvnUpdateArgs();
SvnUpdateResult result;
client.Update(@"path\Script", args, out result);
args.Conflict += new EventHandler<SvnConflictEventArgs>(args_Conflict);
}
}
public static void args_Conflict(object sender, SvnConflictEventArgs e)
{
//implementation
}