【问题标题】:how to get conflicts in sharpsvn.merge()如何在 sharpsvn.merge() 中发生冲突
【发布时间】:2020-07-07 12:36:23
【问题描述】:

我正在尝试使用sharpSvn 将我的代码合并到一个targetPath 中。我正在编写以下代码:

client.merge(targetPath,source_url,range)

在没有冲突的情况下成功,但如果合并中存在冲突,则不会发生合并。我想从代码中获取一个布尔变量,它告诉我在合并修订 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 合并给我一个冲突。请在这方面提供帮助。

【问题讨论】:

标签: c# svn merge conflict sharpsvn


【解决方案1】:

我找到了答案。问题是从合并中删除 dry run 属性。现在我的事件正在触发,然后在触发事件时还原更改。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-17
    • 1970-01-01
    • 2022-01-13
    • 2021-08-22
    • 2019-05-07
    • 1970-01-01
    • 2013-08-31
    相关资源
    最近更新 更多