【问题标题】:Subversion config: What's diff3-has-program-arg for?Subversion 配置:diff3-has-program-arg 有什么用?
【发布时间】:2011-04-14 02:22:34
【问题描述】:

Subversion 有选项diff3-has-program-arg

### 如果您的 'diff3' 程序,请将 diff3-has-program-arg 设置为 'yes'
### 接受“--diff-program”选项。
diff3-has-program-arg = [是|没有]

我的diff3 确实支持--diff-program 选项,但我看不到在哪里配置要调用的程序。

  • 我该怎么做?
  • 我为什么要这样做?

【问题讨论】:

    标签: svn configuration diff config diff3


    【解决方案1】:

    diff3-has-program-arg 看起来很笨拙。该选项在libsvn_subr/io.c 中被引用,但使用该选项的代码被SVN_DIFF3_HAS_DIFF_PROGRAM_ARG ifdef 禁用。

    用于设置该宏的配置逻辑已在 this revision 中删除。

    an old mail on the svn dev list 看来,HAS_DIFF_PROGRAM_ARG 的最初需求是在实现 subversion 的内部 diff 支持之前同时支持需要 --diff-program 选项的 diff 版本和拒绝它的版本。

    【讨论】:

      【解决方案2】:

      ---经过一些测试后编辑---

      --diff-program=value 选项主要指导diff3 使用哪两个文件差异检查程序。 diff3 然后会从两个文件差异检查程序的几次运行中获取输出,并将它们交错成三路差异输出。

      使用diff3 --diff-program=diff a b c 有效地告诉diff3 使用diff 作为双向文件差异程序。 subversion 配置参数diff3-has-program-arg 是subversion 在调用3 路diff 程序时添加--diff-program=xxx 参数的标志。我敢打赌,在某个地方还有另一个选项可以让您也设置双向差异工具。

      我猜那个灰胡子并没有拉我的腿(那个时候),但是当他拉我的腿的时候更有趣。只要问任何编写过 bash 炮弹的人,他们都会同意(在痛苦结束后)。

      --- 原帖如下---

      来自旧的diff3 pages(感谢 GNU)。

      --diff-program=program
          Use the compatible comparison program program to compare files instead of diff. 
      

      这会激活 diff 使用外部比较程序(而不是内部文本匹配器)的能力。我从未见过它被使用过,但一位老灰胡子曾经向我解释说,它的目的是比文本比较程序更好,比如将不同“C”输入之间的空白标准化的程序,这样 diff 就不会失去对齐由于制表符/空格转换问题(等等)。

      我很想知道这是否属实,或者只是对当时相当“绿色”的人的一个幻想。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多