54

What kind of SVN command can I run that will get me a list of files changed since a certain date?

Right now I have it as

svn log <url> -r {2010-11-01}:{2011-05-04} > log.txt

That almost work, but it only shows the revisions and comments but not the files list.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
teepusink
  • 27,444
  • 37
  • 107
  • 147
  • 4
    if you use `-v` you will get a list of files embedded in each commit log entry. if youre just trying to assemble a cumulative list though this probably isnt what you want – prodigitalson May 05 '11 at 00:11

3 Answers3

81

Add the --verbose (or -v) flag and you'll get a list of all affected paths as well as the log messages. If you want to get rid of the messages, add the --quiet (or -q) flag. So:

svn log <url> -qv -r {2010-11-01}:{2011-05-04} > log.txt
Mark Gardner
  • 1,122
  • 10
  • 9
43

If you just want each changed file printed once (rather than for each revision in which it was changed), you could also do:

svn diff <url> --summarize -r {2010-11-01}:{2011-05-04} > log.txt
Michael C. O'Connor
  • 9,742
  • 3
  • 37
  • 49
  • Sadly, this doesn't show files that experienced a reversion in that time frame. – mnuzzo May 09 '13 at 21:24
  • Do you mean files on which `svn revert` was used? If so, no method through the VCS will help you, since, by definition, a `revert` ensures that no changes are recorded. – Michael C. O'Connor May 10 '13 at 16:42
5

With --verbose, svn log will also print all affected paths with each log message.

http://svnbook.red-bean.com/en/1.5/svn.ref.svn.c.log.html

manojlds
  • 290,304
  • 63
  • 469
  • 417