Eu pensaria em gerar uma lista de arquivos sob o controle SVN (deve haver um comando svn para isso) e então usar isso com a opção --files-from=FILE
do rsync (veja man rsync
).
Como rsync apenas arquivos controlados por svn a partir do diretório onde estão os arquivos sob controle de versão e arquivos que não estão sob controle de versão. Apenas arquivos controlados pelo svn precisam ser rsynced.
A motivação foi mover apenas o arquivo necessário para a produção e manter todos os outros arquivos, como na pasta .svn. Há potencial de risco de segurança se esses arquivos estiverem no servidor público.
Não sei por que você estaria fazendo isso. O svn export
faria o que você quer? Isso pode ser usado para configurar uma árvore na qual você usa o rsync.
Para sites de produção ou teste, geralmente recomendo a atualização de uma versão que tenha sido exportada e arquivada. O arquivo é promovido através do ciclo de lançamento.