Svn diff输出文件中的所有行

Svn diff输出文件中的所有行,svn,shell,unix,merge,diff,Svn,Shell,Unix,Merge,Diff,我已经搜索了一段时间,但仍然找不到解决这个问题的简单方法。我想在一个文件的两个版本之间产生一个差异,但我希望输出显示文件的所有行 顺便说一下,我使用的是AIX5.3,使用的是SVN1.6.17 示例:比较我的文件“测试文件”第21版和第22版之间的差异 现在,此输出显示了两个修订版本中的差异,但并非所有文件行都存在,它只显示了前3个版本 所以我真正的问题是如何在输出中得到这些行 是否存在某种svn差异配置设置?我知道我可以为svn使用外部差异工具,但哪一个工具可以提供我想要的输出?我想尽量避免安

我已经搜索了一段时间,但仍然找不到解决这个问题的简单方法。我想在一个文件的两个版本之间产生一个差异,但我希望输出显示文件的所有行

顺便说一下,我使用的是AIX5.3,使用的是SVN1.6.17

示例:比较我的文件“测试文件”第21版和第22版之间的差异

现在,此输出显示了两个修订版本中的差异,但并非所有文件行都存在,它只显示了前3个版本

所以我真正的问题是如何在输出中得到这些行

是否存在某种svn差异配置设置?我知道我可以为svn使用外部差异工具,但哪一个工具可以提供我想要的输出?我想尽量避免安装任何差异工具,因为我在公司网络上

另外一点:到目前为止,生成了2列的“sdiff”似乎是我能得到的最接近我的答案的文件,但我理想情况下想要一个带有“+”和“-”的单列文件,其中显示添加/删除的行


提前感谢您的帮助!=)

也许以下几点与您的要求非常接近:

首先,创建一个diff脚本,该脚本将适当地使用从svn接收的参数:

#!/bin/sh
# file : /usr/local/bin/mydiff

# assumes less that 10,000 lines per file
/usr/bin/diff -U10000 $6 $7
然后与svn进行比较:

svn diff --diff-cmd /usr/local/bin/mydiff

如果您想更紧密地自定义差异输出,只需修改
mydiff
脚本。

是的,您可以使用外部
diff
来完成此操作。我通常是这样做的:

svn diff --diff-cmd diff -x "-U30" 

这里,
-U30
是统一的上下文大小。您应该使其足够大,以包括文件中的所有行。例如,如果你的最长文件有1000行,你会使用
-U1000

非常感谢,我有一种有趣的感觉,它将是一个简单的东西!但我就是找不到它卡莱布,你帮我节省了很多时间!也谢谢你,这个答案正是我需要的。很好的一行,但是如果你想返回两个文件中的所有行,那么“30”不是上下文大小的好例子。许多文件包含30多行。我建议用100000000代替!很少有文件包含超过10亿行。@SamWatkins我在编辑中阐明了他的意思。如果给出的答案有帮助,你应该使用向上箭头向上投票:)。
svn diff --diff-cmd diff -x "-U30"