views:

201

answers:

3

I need to deploy a few files that were checked in sometime ago (can't remember the exact ones), so I'm looking to get a list so I can deploy just those files. What is the svn command to do this?

+1  A: 

svn log has a --verbose parameter. I don't have a repository here to test with, but does that return a list of modified files?

You can also use svn diff -r <revision> to retrieve the full change details, which you can parse or read manually to find out which files were changed.

John Millikin
Yes, svn log -v -r <#> does work, however I discovered that the message won't be displayed (or will be incomplete) if you aren't above the committed files in the directory tree.
Dana the Sane
+3  A: 

@John Yes, svn log -v -r <#> does work, however I discovered that the message won't be displayed (or will be incomplete) if you aren't above the committed files in the directory tree.

This is a feature of Subversion -- it operates on directories, not repositories, so if you execute commands in a subdirectory they won't be applied to the entire working copy. Either execute the log in the root of the working copy, or use svn log ../../../ and so on.

John Millikin
+1  A: 

@Dana & @John

Actually, svn log -v -r <#> http://my.svn.server/repository-root will work and show you all modified files within this repository. Or if you wanted this to work from within a working copy, you could use the output of svn info | grep Repository Root or something to find the actual repository root.

--verbose is the same as -v, and those options simply list all of the affected files.

pix0r