Adam Butler的答案几近完美,但我遇到了一些问题,所以这是我的工作解决方案:
在DOS窗口中(使用ConEmu可以获得更好的效果)
First cd to your svn folder tools
mkdir d:\dumpRepo
svnadmin create d:\dumpRepo
type [PATH TO DUMP].dump | svnadmin load d:\dumpRepo
svn export file:///d:/dumpRepo d:\Exportedfiles
Run Code Online (Sandbox Code Playgroud)
svn export的文件URI仅包含常规/非常重要
这里有一个简单的指南 - 它适用于 linux/unix,但在 dos 提示符下工作:http : //www.mhermans.net/get-files-from-svn-dump.html
首先 - 下载命令行 svn http://subversion.apache.org/packages.html#windows 这可能是一个挑战,但最终你会在某个 bin 文件夹中拥有 svn.exe 和 svnadmin.exe。一旦你有了它,它就会一帆风顺:
从 dos 框:
mkdir c:\backup_repo
[PATH TO SVN]\svnadmin.exe init c:\backup_repo
type [PATH TO DUMP].dump | [PATH TO SVN]\svnadmin.exe load
[PATH TO SVN]\svn.exe export "file:///C:\repo" c:\exportdest
Run Code Online (Sandbox Code Playgroud)
HTH
假设您有完整转储而不是增量转储,您可以轻松提取文件。它们存储有一小段标头信息(包括文件的大小),后跟文件本身。
如果您有增量转储(其中您有文件的初始版本,然后只有增量)(即每个文件提交时的更改),您会遇到更困难的问题。然而,有一个简单的解决方案:
安装VisualSVN Server或http://www.ubersvn.com/并使用它导入转储。然后使用像TortoiseSVN这样的工具来查看历史记录并单独导出每个文件(即,您刚刚创建了转储的 svn 存储库的副本,现在可以像任何 subversion 用户一样访问它)。