用diff包括转数?

时间:2013-01-29 14:18:59

标签: svn

有没有办法在使用

时包含每个文件的修订号
svn diff -r REV1:REV2 --summarize <URL>

2 个答案:

答案 0 :(得分:0)

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

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

编辑:

--summarize仅生成范围内受影响的列表结束与开始相比更改)文件

如果你想在范围内获得每个预设的文件列表,你必须使用svn log -v -q(或使用diff而不使用--summarize)

答案 1 :(得分:0)

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

否则,您可以将svn diff的输出传输到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

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