从两个版本之间的SVN命令行获取更改的文件

我需要在SVN中的两个版本之间获取已更改的文件列表。

我已经使用了以下命令:

svn diff -r 5001:6001 --summarize https://svn.blah.com/../ > output.txt 

出于某种原因,在修订版5001上修改的文件不会填充到输出文本文件中。

在两个版本(包括从和到版本,包括版本5001和版本6001)之间提取文件列表的具体命令是什么?

尝试使用svn diff -r 5000:6001来代替。 要理解这一点,请考虑以下内容: svn diff -r 100:100的输出是什么样的? 它不会显示任何更改,因为修订是相同的。 要查看版本100的更改,我们必须使用-r 99:100

尝试使用svn log -r 5000:6001 -v来获取文件列表。 这给出了修订号分类的文件列表。 所以,一个人可以更好地了解哪些文件在哪些版本中一目了然。

如果你想要所有的改变,Dirk-Willem van Gulik的回答是完美的。 但是,如果你只想更改文件列表追加–summarize切换到您的命令,

 svn diff -r 13447:HEAD 

svn diff -r v1:v2 --summarize | awk '{print $2}' > filelist.txt

说明:

svn diff -r v1:v2 --summarize为您提供了由制表符分隔的文件的状态和名称。 您需要select制表符后的string – 第二个字段。 你可以使用awk来完成,并将输出redirect到filelist.txt

 svn diff -r 5001:6001 ...local path hier ... > output.txt