如何在各种操作系统(Linux shell、Windows 9x/Vista/XP/Server 等)上转储多个 Subversion 存储库(所有存储库都位于一个文件夹中)?
我将发布一个适用于 Windows Server 2003 的答案 - 但也许还有一个更优雅的答案。
(该问题的更多背景信息这里。
答案1
重击:
#!/bin/bash
REPO_BASE=...
SVNADMIN=...
cd "$REPO_BASE"
for f in *; do
test -d "$f" && $SVNADMIN dump "$f" >"$f.svn"
done
(test -d
确保仅转储目录)
答案2
这适用于 Windows 2003 服务器,也可能适用于其他 Windows 操作系统。它会查找指定“repos”目录中的任何子目录,并尝试svnadmin dump
在每个子目录中运行。它会创建名为(reponame).svn
转储文件
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
)