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

Mad*_*han 37 svn diff revision

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

我使用了以下命令:

svn diff -r 5001:6001 --summarize https://svn.blah.com/../  > output.txt
Run Code Online (Sandbox Code Playgroud)

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

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

Dir*_*lik 53

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

  • 对 - 因为100和100之间没有区别 - 它们是相同的.根据定义.因此,如果您想知道5001:6001(包括5001)的差异,则需要执行-r 5000:6001. (7认同)

sub*_*bbu 9

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


小智 8

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

svn diff -r 13447:HEAD
Run Code Online (Sandbox Code Playgroud)


Ank*_*kur 7

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

说明:

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