gpt4 book ai didi

Svn diff 输出文件中的所有行

转载 作者:行者123 更新时间:2023-12-04 00:36:23 26 4
gpt4 key购买 nike

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

顺便说一下,我在 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" 

在这里, -U30是统一的上下文大小。您应该使它足够大以包含文件中的所有行。例如,如果最长的文件有 1000 行,则可以使用 -U1000 .

关于Svn diff 输出文件中的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7983669/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com