如何在不同的操作系统上同时转储多个 Subversion 存储库

如何在不同的操作系统上同时转储多个 Subversion 存储库

如何在各种操作系统(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
)

相关内容