Ich bekomme nicht das Konflikt Ereignis ausgelöst, wenn 2 Revisionen Merge-Methode von sharpsvn zusammenführen. Ich habe versucht, das Konflikt-Ereignis in SvnMergeArgs und SvnUpdateArgs zu verwenden. Ich habe die Merge-Methode aufgerufen, gefolgt von der update-Methode von sharpsvn. Die Zusammenführung überschreibt nur die Arbeitskopie mit der älteren Revision und das Update löst das Ereignis nicht aus.Verschmelzen nicht feuern Konflikt Ereignis
Was fehlt mir hier, dass der Konflikt nicht gefeuert wird. Das Folgende ist mein Code.
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
}
Bis Subversion 1.8 wird der Konflikthandler nicht für alle Arten von Konflikten aufgerufen. Wir haben einige Fälle gefunden, in denen es nicht zu Baumkonflikten kam. Ab 1.8 sollte es für alle Konflikte aufgerufen werden, in einigen Fällen später als in 1.7, da wir versuchen, so viel Arbeit wie möglich zu erledigen, bevor wir den Konfliktbehandler aufrufen. –