如何在 sharpsvn.merge() 中得到冲突
how to get conflicts in sharpsvn.merge()
我正在尝试使用 sharpSvn 将我的代码合并到 targetPath 中。我正在编写以下代码:
client.merge(targetPath,source_url,range)
在没有冲突的情况下成功,但如果合并中有冲突,则不会发生合并。我想从代码中获取一个布尔变量,它告诉我在合并 revision_id 时是否存在冲突。有什么办法可以做到这一点吗?
编辑:
我一直在通过以下方式尝试这个
try
{
String src = "source_url";
String targetPath = "foo/bar";
SvnRevisionRange range = new SvnRevisionRange(839071, 839072);
SvnMergeArgs mergeArgs = new SvnMergeArgs();
mergeArgs.DryRun = true;
mergeArgs.Conflict += new EventHandler<SvnConflictEventArgs>
(Mergeargs_Conflict);
mergeArgs.Force = false;
bool result = client.Merge(targetPath, new SvnUriTarget(src), range, mergeArgs);
}
catch (SvnException e)
{
Console.WriteLine("conflict");
}
活动如下:
static void Mergeargs_Conflict(object sender, SvnConflictEventArgs e)
{
Console.WriteLine("I were called.");
}
但它没有在屏幕上给我任何输出。我正在尝试合并一个 url ,我知道存在冲突,因为尝试从 Tortoise svn 合并给我一个冲突。请在这方面提供帮助。
我找到了这个问题的答案。事情是从合并中删除 dry run
属性。现在我的事件正在触发,如果事件被触发,则还原更改。
我正在尝试使用 sharpSvn 将我的代码合并到 targetPath 中。我正在编写以下代码:
client.merge(targetPath,source_url,range)
在没有冲突的情况下成功,但如果合并中有冲突,则不会发生合并。我想从代码中获取一个布尔变量,它告诉我在合并 revision_id 时是否存在冲突。有什么办法可以做到这一点吗?
编辑: 我一直在通过以下方式尝试这个
try
{
String src = "source_url";
String targetPath = "foo/bar";
SvnRevisionRange range = new SvnRevisionRange(839071, 839072);
SvnMergeArgs mergeArgs = new SvnMergeArgs();
mergeArgs.DryRun = true;
mergeArgs.Conflict += new EventHandler<SvnConflictEventArgs>
(Mergeargs_Conflict);
mergeArgs.Force = false;
bool result = client.Merge(targetPath, new SvnUriTarget(src), range, mergeArgs);
}
catch (SvnException e)
{
Console.WriteLine("conflict");
}
活动如下:
static void Mergeargs_Conflict(object sender, SvnConflictEventArgs e)
{
Console.WriteLine("I were called.");
}
但它没有在屏幕上给我任何输出。我正在尝试合并一个 url ,我知道存在冲突,因为尝试从 Tortoise svn 合并给我一个冲突。请在这方面提供帮助。
我找到了这个问题的答案。事情是从合并中删除 dry run
属性。现在我的事件正在触发,如果事件被触发,则还原更改。