On Fri, Jan 21, 2011 at 17:18, Woodworth, James
wrote:
> Hello,
>
> Over the past three weeks I have changed and committed some files. I need
> to somehow recurse through the directories and show me only the files I have
> changed. How do I do this?
>
> I suppose I could write a script to do this, but I suspect Subversion is
> sophisticated enough, and I am just missing something.
Subversion will give you the log as XML, if you ask for it:
svn log --verbose --xml svn://server/repository
Here's an XSLT that will extract the names of *files* added, deleted
or modified by a given *author*:
-- files-modified-by-author.xsl --
http://www.w3.org/1999/XSL/Transform"; version="1.0">
smithma
-- end file --
Here's a BASH script which will call svn for the log, pull out the
files using xsltproc and the above XSL transformation and then toss
out duplicates using sort:
-- files-modified-by-author.bash --
REPOSITORY=svn://server/repository
AUTHOR=username
function get_log () {
svn log --xml --verbose $REPOSITORY
}
function select_files () {
xsltproc --stringparam author $AUTHOR files-modified-by-author.xsl -
}
get_log | select_files | sort -u
-- end file --
Edit the values of REPOSITORY and AUTHOR as necessary for your
repository and user name.
Then, you can call the script as follows and record the resulting list
of file names in a file for perusal at your leisure:
bash files-modified-by-author.bash > files-modified-by-author.txt
HTH
// Ben