0

有没有办法包括使用时返回的每个文件的修订号

svn diff -r REV1:REV2 --summarize <URL>
4

2 回答 2

0

是的,只需更改命令格式并使用 PEG 修订

svn diff --summarize <URL@REV1> <URL@REV2>

编辑:

--summarize仅生成范围内受影响的列表(与 start 相比 end 的变化)文件

如果要获取范围内每个预定义的文件列表,则必须使用svn log -v -q(或使用不带 --summarize 的 diff)

于 2013-01-29T14:46:44.903 回答
0

svn blame会有用吗?这将向您显示特定版本更改了哪一行。

否则,您可以通过管道输出svn diffto svn info

$ svn diff --summarize -r$rev1:rev2 $REPO_URL | while read status url
do
    echo $url
    svn info $url | grep "Last Changed Rev:"
done

输出将如下所示:

http://svn.vegicorp.com/trunk/project1/file1.txt
Last Changed Rev: 157264
http://svn.vegicorp.com/trunk/project1/file2.txt
Last Changed Rev: 157264
http://svn.vegicorp.com/trunk/project1/file3.txt
Last Changed Rev: 157264
http://svn.vegicorp.com/trunk/project1/file4.txt
Last Changed Rev: 157264
http://svn.vegicorp.com/trunk/project1/file5.txt
Last Changed Rev: 157264

如果您需要在同一行上的文件的修订和 URL,您可以使用printf. 如果您不在 Unix 系统上,您可以使用Cygwin为您提供 BASH shell 和大多数标准的类 Unix 实用程序,您需要执行此类操作。否则,您将需要使用 PowerShell、Perl 或 Python 并对其进行编程。

于 2013-01-29T18:53:51.680 回答