Today i needed to get a list of files changed within a certain range of svn commits for ftp'ing across to a server and knocked up a quick bash script to do it. Maybe it will help someone else in the future.

for i in `seq 7 30`; do svn log -v -r $i | grep \/ | cut -d' ' -f5; done | sort | uniq -c

 

Which roughly breaks down to:

for each entry in the sequence between 7 and 30, perform the svn log command in verbose mode, use grep to extract the lines that have paths, cut those lines on each space, showing only the fifth field, then sort the list, then use uniq to reduce it to single entries per file, with a count for good measure

Topics