Как мне сделать дамп нескольких репозиториев Subversion - со всеми репозиториями, расположенными в одной папке - в различных операционных системах (оболочках Linux, Windows 9x / Vista / XP / Server и т. Д.)?
Я отправлю ответ, который работает в Windows Server 2003, но, возможно, для этого есть и более элегантный.
(Дополнительная информация к вопросу Вот.)
Это работает на сервере Windows 2003 и, вероятно, также будет работать и в других ОС Windows. Он ищет любые подкаталоги в указанном каталоге "репозиториев" и пытается запустить svnadmin dump
по каждому из них. Он создает файлы дампа с именем (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
)
Баш:
#!/bin/bash
REPO_BASE=...
SVNADMIN=...
cd "$REPO_BASE"
for f in *; do
test -d "$f" && $SVNADMIN dump "$f" >"$f.svn"
done
(test -d
обеспечивает дамп только каталогов)