我已经搜索了一段时间,但仍然找不到解决这个问题的简单方法。我想在文件的两个修订版之间生成差异but我希望输出显示all我的文件的行。
顺便说一句,我在 AIX 5.3 上使用 svn 1.6.17。
示例:比较我的文件“test_file”的修订版 21 和 22 之间的差异
% svn cat -r21 test_file
My Test File
line 1
line 2
line 3
line 4
line 5
line 6
line 7
line 8
line 9
% svn cat -r22 test_file
My Test File
line 1
line 2
line 3
line 4
line 5
line 6
line 7
line 8
line 9
added after 1
added after 2
added after 3
% svn diff -r21:22 test_file
Index: test_file
===================================================================
--- test_file (revision 21)
+++ test_file (revision 22)
@@ -9,3 +9,7 @@
line 7
line 8
line 9
+
+added after 1
+added after 2
+added after 3
现在这个输出显示了两个版本的差异,但并不是文件的所有行都在那里,它只显示了前 3 行。
所以我的问题是如何在输出中得到这些行?
是否有某种 svn diff 配置设置?我知道我可以使用 svn 的外部 diff 工具,但是哪一个可以为我提供我想要的输出?我想尝试避免安装任何差异工具,因为我在公司网络上。
附加点:到目前为止,生成的 2 列的“sdiff”似乎是我能得到的最接近的答案,但理想情况下,我想要一个带有“+”和“-”的单列文件,显示添加/删除的行
预先感谢您的任何帮助! =)
是的,您可以使用外部diff
来实现这一目标。我通常通过这样的命令来完成:
svn diff --diff-cmd diff -x "-U30"
Here, -U30
是统一的上下文大小。您应该使其足够大以包含文件中的所有行。例如,如果最长的文件有 1000 行,您可以使用-U1000
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)