Мне нужен был дамп всех файлов, которые изменились в диапазоне дюжины ревизий. Я сделал это так (эти команды могут быть не идеальными, это просто общее объяснение):
Создайте diff, который покажет нужные вам файлы, и запишите список в текстовый файл
svn diff --summarize -r219:232 > r219-232_Summary.txt
Это даст вам текстовый файл со строками типа
M path/to/file.php
Массируйте формат файла, чтобы заменить начало каждой строки командой 'svn up' вместо 'A' или 'M' или чем-то еще.
sed -i 's/A /svn up /g' ./r219-232_Summary.txt
... что даст вам строки вроде
svn up path/to/file.php
Создайте новый каталог и проверьте в нем свой проект
svn co http://www.repo.net/whatever
Удалите все в каталоге, кроме файла .svn (я использую относительно недавний svn-клиент, поэтому, если вы используете старый svn-клиент с .svn в каждом каталоге, не знаете, как это будет работать) 1018 *
rm -rf ./*
Скопируйте текстовый файл, сделайте его исполняемым и запустите его как скрипт.
cp /path/to/wherever/r219-232_Summary.txt ./r219-232_Summary.sh
chmod 777 ./r219-232_Summary.sh
./r219-232_Summary.sh
Если все идет по плану, то shell должен проанализировать каждую команду 'svn up' в вашем текстовом файле и заполнить каталог только теми файлами, которые вам интересны.