与SharpSvn进行“合理修订”

时间:2016-07-15 00:21:05

标签: c# svn tortoisesvn sharpsvn

设置合并时,TortoiseSvn客户端有一个很棒的复选框,标有“隐藏不可合并的版本”。我希望重现使用SharpSvn启用时显示的修订列表。

TortoiseSvn

TortoiseSvn documentation解释了这个复选框:

  

当使用合并跟踪时,日志对话框将显示先前合并的修订版本,并且在共同的祖先点之前,即在分支被复制之前的修订版本显示为灰色。隐藏不可合并的修订复选框允许您完全过滤掉这些修订,因此您只能看到可以合并的修订。

如何在SharpSvn代码中重现此功能? 我需要一个可以合并的SvnLogEventArgs(或类似的)列表。

当前状态:我只是拉动两个分支的日志。我无法弄清楚如何获得适当的svn:mergeinfo属性或者在获得它之后如何处理它。

2 个答案:

答案 0 :(得分:1)

我不停地插手,跟着链接,这就是我最终的结果:

if (daysLeft < warningDays) and (daysLeft > -1) then
     strCMD =  "\\domain\netlogon\PwExpChk\PWReminder.hta" -13
     Set wshShell = CreateObject("Wscript.Shell")
     RC = WshShell.run(strCMD , 0, False)

 End if

希望这对其他人有所帮助,虽然我会注意到它没有很多我在生产代码中进行的理智检查 - 这是快速而肮脏的版本。 / p>

答案 1 :(得分:0)

尝试SvnClient.ListMergesEligible: https://github.com/yushulx/zxing-cpp-emscripten

编辑。 SharpSVN似乎对我来说很麻烦,所以我选择了cmd。

检查一下:

    private static void mergelhetőVerziókListája()
    {
      string revíziók = cmd("svn", "mergeinfo --show-revs eligible \".../branches/dev\" \".../trunk\"");
    }

    private static string cmd(string utasítás, string paraméter)
    {
      StringBuilder eredmény = new StringBuilder();
      Process cmd = new Process()
      {
        StartInfo = new ProcessStartInfo
        {
          FileName = utasítás,
          Arguments = paraméter,
          UseShellExecute = false,
          RedirectStandardOutput = true,
          CreateNoWindow = true
        }
      };
      cmd.Start();
      while (!cmd.StandardOutput.EndOfStream)
      {
        string kimenet = cmd.StandardOutput.ReadLine();
        eredmény.AppendLine(kimenet); //...
      }
      return eredmény.ToString();
    }