Назад | Перейти на главную страницу

Как сбросить сразу несколько репозиториев Subversion на разных ОС

Как мне сделать дамп нескольких репозиториев 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 обеспечивает дамп только каталогов)