Andy Levy wrote:
> svn log --verbose -rX will give you a list of all paths touched in
> revision X. You'll need to do some parsing to extract just the paths
> vs. the other log data. If you're handy with XML, you can use svn log
> --verbose --xml -rX and then use XPath to extract just the paths.
I have taken this route and came up with the script below.
It might not be the best script ever, but it worked just fine for me,
allowing to discover that there was only one revision in the entire
history that was causing issue with svn cat.
# for this to work, you have to use xpathtool from the following page:
# set those variables to match your installation
echo Retrieving maximum revision
MAXREV=`svn log -r HEAD --xml --username=$USER --password=$PASS
--no-auth-cache $BASEURL | $XPATHTOOLDIR/xpathtool.sh
while [ $REV -le $MAXREV ]; do
echo Processing revision $REV out of $MAXREV
FILES=`svn log --verbose -r $REV --xml --username=$USER
--password=$PASS --no-auth-cache $BASEURL | $XPATHTOOLDIR/xpathtool.sh
for FILE in $FILES
svn cat --username=$USER --password=$PASS
--no-auth-cache $BASEURL$FILE@$REV > /dev/null
if [ $? -ne 0 ]; then
echo File $FILE at revision $REV gave an error
Received on 2012-03-26 15:19:39 CEST