1

Subversion 有选项diff3-has-program-arg

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

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

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

2 回答 2

3

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

在此版本中删除了设置该宏的配置逻辑。

svn dev list 上的一封旧邮件来看,HAS_DIFF_PROGRAM_ARG 的最初需求似乎是--diff-program在实现 subversion 的内部 diff 支持之前同时支持需要该选项的 diff 版本和拒绝它的版本。

于 2011-04-19T02:12:29.233 回答
1

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

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

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

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

--- 原帖如下---

来自旧的diff3 页面(感谢 GNU)。

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

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

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

于 2011-04-22T19:52:05.387 回答