有没有办法在使用
时包含每个文件的修订号svn diff -r REV1:REV2 --summarize <URL>
答案 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,并对其进行编程。