我正在使用svn命令编写python脚本,以在文件上打印2个svn修订版本的完整上下文更改日志(指示更改的完整文件)。我对一个svn repo有两次提交,我需要这两个修订版的区别。为此,我可以使用它svn diff -r <rev1>:<rev2>但是问题在于,在更改的上下文中,这只给了很少的限制。例如,如果我有一个100行的文件,并且更改了第50行,这将向我显示第50行的更改,并在其上下分别显示5-7行。我需要的是一个命令(或其他方式)向我显示完整的文件,其中所做的更改仅显示在第50行中。还尝试使用此处提到的建议,但是对于我来说,这似乎不可行。
1 回答
HUH函数
TA贡献1836条经验 获得超4个赞
对于您提供的链接的命令:
svn diff --diff-cmd=diff -x -U10
在这里,这--diff-cmd
意味着您将使用第三方工具来有所作为。而您将要使用的第三方工具是diff
。因此,首先您需要查看该diff
工具是否已安装在系统中以及是否在路径变量中。
您可以通过在命令promt或终端中键入以下内容来进行检查。 diff --help
对于您的情况,因为您需要整个文件,则应尝试使用以下命令:
svn diff -r 34:35 --diff-cmd=diff -x -y > somefile.txt
在这里,您要求svn进行差异修订34和35,但使用名为的外部差异工具diff
。随着-x
你告诉你传递的标志-y
这一外部工具和存储在一个文本文件中的输出。
该-y
标志告诉外部diff工具进行并排比较,并在两列中输出数据。
文本文件将如下所示。这将是一个非常长的文件,因为它具有所有已更改文件的全部。
添加回答
举报
0/150
提交
取消