gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 22:12:46 25 4
gpt4 key购买 nike

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

我在 svn 存储库上有两个提交,我需要这两个修订版的差异。为此我可以使用

svn diff -r <rev1>:<rev2>

但问题是,这仅给出了更改上下文中的几行内容。例如,如果我有一个 100 行的文件,并且我在第 50 行进行了更改,这将显示第 50 行的更改,并显示其上方和下方的 5-7 行。

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

还尝试使用提到的建议 here ,但是对于我手头的场景来说,这似乎并不奏效。

对此上下文的任何帮助表示赞赏。

最佳答案

对于您提供链接的命令:

svn diff --diff-cmd=diff -x -U10

这里的--diff-cmd表示您将使用第三方工具来进行差异处理。您将要使用的第三方工具是diff。因此,首先您需要查看您的系统中是否安装了 diff 工具并且位于您的路径变量中。

您可以通过在命令提示符或终端中键入以下内容来检查这一点。diff --help diff help in cmd

对于您的情况,因为您需要整个文件,您应该尝试类似以下命令的操作:

svn diff -r 34:35 --diff-cmd=diff -x -y > somefile.txt

在这里,您要求 svn 比较版本 34 和 35,但使用名为 diff 的外部比较工具。使用 -x 表示您将标志 -y 传递给此外部工具并将输出存储在文本文件中。

-y 标志告诉外部 diff 工具进行并排比较并以两列输出数据。

文本文件将如下所示。这将是一个非常长的文件,因为它包含所有已更改的文件。 Example Some Text File

关于python - 如何在 python 脚本中获取 svn 两个修订版的完整上下文差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50993808/

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