如何在python脚本中获取svn的两个修订的完整上下文差异?

我正在使用svn命令编写python脚本,以在文件上打印2个svn修订版本的完整上下文更改日志(指示更改的完整文件)。

我对一个svn repo有两次提交,我需要这两个修订版的区别。为此,我可以使用它

svn diff -r <rev1>:<rev2>

但是问题在于,在更改的上下文中,这只给了很少的限制。例如,如果我有一个100行的文件,并且更改了第50行,这将向我显示第50行的更改,并在其上下分别显示5-7行。

我需要的是一个命令(或其他方式)向我显示完整的文件,其中所做的更改仅显示在第50行中。

还尝试使用此处提到的建议,但是对于我来说,这似乎不可行。


红糖糍粑
浏览 411回答 1
1回答

HUH函数

对于您提供的链接的命令:svn diff --diff-cmd=diff -x -U10在这里,这--diff-cmd意味着您将使用第三方工具来有所作为。而您将要使用的第三方工具是diff。因此,首先您需要查看该diff工具是否已安装在系统中以及是否在路径变量中。您可以通过在命令promt或终端中键入以下内容来进行检查。&nbsp;diff --help对于您的情况,因为您需要整个文件,则应尝试使用以下命令:svn diff -r 34:35 --diff-cmd=diff -x -y > somefile.txt在这里,您要求svn进行差异修订34和35,但使用名为的外部差异工具diff。随着-x你告诉你传递的标志-y这一外部工具和存储在一个文本文件中的输出。该-y标志告诉外部diff工具进行并排比较,并在两列中输出数据。文本文件将如下所示。这将是一个非常长的文件,因为它具有所有已更改文件的全部。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python