Eu não acho que o SVN tem essa funcionalidade embutida, mas se você é capaz de executar comandos no servidor que contém o repositório SVN (e supondo que o servidor tenha as ferramentas UNIX / Linux disponíveis), este script bash deve faça por você:
REPOS=/path/to/repos
FILE=dir/foo.xml
for rev in "$(svnlook history $REPOS $FILE | awk 'NR > 2 { print $1 }')"; do
rev_date=$(svnlook date -r $rev $REPOS | awk '{ print $1 }')
svnlook cat -r $rev $REPOS $FILE > ${rev_date}_${FILE}
done
Isso produzirá nomes de arquivos na forma 2007-08-08_foo.xml
. Obviamente, você precisa alterar /path/to/repos
na primeira linha para o caminho real do sistema de arquivos (não uma URL) do repositório e dir/foo.xml
na segunda linha para o caminho do arquivo dentro do repositório.
Se for realmente importante para você ter sublinhados na data, altere a linha 4 da seguinte forma:
rev_date=$(svnlook date -r $rev $REPOS | awk '{ print $1 }' | tr - _)
Lembre-se também de que, se o arquivo já foi modificado mais de uma vez em um determinado dia, somente a primeira edição de cada dia será refletida nos arquivos gravados.