【问题标题】:Beyond Compare automerge 3 files script超越比较 automerge 3 文件脚本
【发布时间】:2017-09-25 12:22:49
【问题描述】:

我想制作脚本以自动更改图片。
我的意思是我有 1 个原始文件和 2 个已更新的文件,但没有冲突的更新。就像在图片中一样。总是当我尝试这样做时,脚本什么都不做。
我用这个:

"BCompare.exe" left.txt right.txt center.txt result.txt /automerge

我想在此操作之前和之后用 C# 编写一些代码。
在 BC 甚至可以在脚本中使用它吗?如果没有,是否有一些选项如何处理冲突?

如果您知道我可以使用哪种工具,那就太好了。

【问题讨论】:

  • 查看 Beyond Compare 帮助:菜单中的命令行参考。您可以使用命令行创建 BAT 文件,也可以使用其他命令添加脚本文件。您可以使用进程类从 c# 运行 bat 文件。 bat 和 script 文件是文本文件,您也可以在 c# 中创建它们。
  • 我知道有这些选项并尝试过,但从未得到建议的合并...
  • 您是否首先在 cmd.exe 窗口的 bat 文件中尝试了这些选项?确保使用 Beyond Compare 帮助中的选项。超越比较有许多不同的版本,您需要使用与您的版本合作的正确选项。 span>

标签: c# shell beyondcompare


【解决方案1】:

Beyond Compare 需要四个文件名作为自动合并的命令行参数。

bcompare.exe left.txt right.txt center.exe out.txt /automerge

第三个文件是左右文件的共同祖先。另请注意,如果存在冲突,Beyond Compare 不会从 /automerge 生成输出。要在发生冲突时强制输出,您还需要使用 /force 命令行开关。

bcompare.exe left.txt right.txt center.exe out.txt /automerge /force

从帮助文件中: 如果 /automerge 存在,/force 使用 CVS 样式的标记将冲突写入输出。

如果您没有共同的祖先文件,您仍然可以进行 2 路合并,但您必须使用命令行开关明确定义合并输出。

bcompare.exe left.txt right.txt /mergeoutput=result.txt /automerge /force

【讨论】:

  • 如果你尝试 /automerge /force 它不会给你图片中的输出。我已经试过了..
  • 如果 /automerge 在您提供 4 个文件名作为参数时没有生成输出,则表明存在合并冲突(双方都更改),因此无法自动合并文件。如果您检查命令行参考中列出的退出代码,退出代码 14 表示存在冲突。当检测到冲突时,使用 /force 生成带有 CVS 样式标记的输出,以便用户可以手动更正文件。
  • 我只是想知道是否有一些简单的方法可以使用图片中BC的功能。我需要 BC 应用程序提出的建议。但我想这并不容易。我现在正在使用 C# 中的 google diffpatchmatch 库进行尝试...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-07
  • 2018-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多