fragen stichworte

Wie Sie mehrere Subversion-Repositorys gleichzeitig auf verschiedenen Betriebssystemen sichern können

Wie erstelle ich eine Anzahl von Subversion-Repositorys - alle Repositorys in einem Ordner - auf verschiedenen Betriebssystemen (Linux-Shells, Windows 9x/Vista/XP/Server usw.)?

Ich werde eine Antwort posten, die unter Windows Server 2003 funktioniert - aber vielleicht gibt es auch eine elegantere Antwort.

(Zusätzlicher Hintergrund zur Frage hier.)

antworten

Dies funktioniert auf Windows 2003-Servern und wahrscheinlich auch auf anderen Windows-Betriebssystemen. Es sucht nach Unterverzeichnissen im angegebenen Repos-Verzeichnis und versucht, auf jedem dieser Verzeichnisse ein svnadmin dump auszuführen. Es erstellt Dump-Dateien mit dem Namen (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
)

Bash:

#!/bin/bash
REPO_BASE=...
SVNADMIN=...

cd "$REPO_BASE"
for f in *; do
    test -d "$f"  &&  $SVNADMIN dump "$f" >"$f.svn"
done

(test -d stellt sicher, dass nur Verzeichnisse ausgegeben werden)