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

时间:2012-02-08 09:51:11

标签: svn diff revision

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

我使用了以下命令:

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

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

在两个修订版之间提取文件列表的确切命令是什么(包括修订版和修订版,包括修订版5001和修订版6001)?

5 个答案:

答案 0 :(得分:53)

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

答案 1 :(得分:8)

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

答案 2 :(得分:8)

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

svn diff -r 13447:HEAD

答案 3 :(得分:7)

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

说明:

svn diff -r v1:v2 --summarize为您提供由制表符分隔的文件的状态和名称。您需要在制表符后选择字符串 - 第二个字段。您可以使用awk执行此操作,并将输出重定向到filelist.txt

答案 4 :(得分:-1)

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