Bash:
#!/bin/bash
REPO_BASE=...
SVNADMIN=...
cd "$REPO_BASE"
for f in *; do
test -d "$f" && $SVNADMIN dump "$f" >"$f.svn"
done
( test -d
certifica-se de copiar somente diretórios)
Como eu faço um despejo de vários repositórios do subversion - com todos os repositórios residindo em uma pasta - em vários sistemas operacionais (shells do Linux, Windows 9x / Vista / XP / Server, etc.)?
Vou postar uma resposta que funcione no Windows Server 2003 - mas talvez haja uma mais elegante para isso também.
(Histórico adicional para a questão aqui .
Isso funciona no servidor Windows 2003 e provavelmente funcionará em outros sistemas operacionais Windows também.
Ele procura por qualquer subdiretório no diretório "repos" especificado e tenta executar um svnadmin dump
em cada um deles. Cria arquivos de despejo chamados (reponame).svn
dump_repos.bat
cd \my\subversion\repos
dir /A:D /B> dirs.tmp
FOR /F %%i IN (dirs.tmp) DO (
"C:\path\to\subversion\bin\svnadmin.exe" dump %%i > %%i.svn
)