Madhan
Madhan

Reputation: 1321

Get changed files from SVN command line between two revisions

I need to get the changed files list between two revisions in SVN.

I have used the following command:

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

For some reason, the files modified on revision 5001 are not populated in the output text file.

What is the exact command to extract the files list between the two revisions (inclusive of from and to revisions, that is, including revision 5001 and revision 6001)?

Upvotes: 42

Views: 66203

Answers (5)

Dirk-Willem van Gulik
Dirk-Willem van Gulik

Reputation: 7706

Try svn diff -r 5000:6001 instead. To understand this, consider the following: what would the output of svn diff -r 100:100 look like? It would show no changes, because the revisions are the same. To see the changes for revision 100, we must use -r 99:100.

Upvotes: 55

Alexander Bogatyrev
Alexander Bogatyrev

Reputation: 1

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

Upvotes: -1

Ankur
Ankur

Reputation: 2207

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

Explanation:

svn diff -r v1:v2 --summarize provides you the status and the name of the file separated by a tab character. You need to select the string after the tab character - the second field. You can do that using awk and redirect the output to filelist.txt

Upvotes: 8

Rajendra Alapaty
Rajendra Alapaty

Reputation: 101

Dirk-Willem van Gulik's answer is perfect if you want all changes. However if you want only the list of files changed append --summarize switch to your command,

svn diff -r 13447:HEAD

Upvotes: 8

subbu
subbu

Reputation: 489

Try svn log -r 5000:6001 -v to get the list of files. This gives list of files categorized by revision no. So, one can have better idea on what files went in what revision at a glance.

Upvotes: 11

Related Questions