如何提取SVN转储?

时间:2011-07-10 18:11:22

标签: svn svndump

我收到了一个SVN转储文件,其中包含大量页面(所有HTML页面以及所有服务器端代码)。我要将它们分开,但不知道如何做到这一点。

我在Windows上,我根本没有SVN。

3 个答案:

答案 0 :(得分:7)

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

svn export的文件URI仅包含常规/

非常重要

答案 1 :(得分:3)

这里有一个简单的指南 - 它适用于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

HTH

答案 2 :(得分:2)

假设您有完整转储而不是增量转储,则可以轻松提取文件。它们存储有一小段标题信息(包括文件大小),后跟文件本身。

如果你有一个增量转储(你有文件的初始版本,然后只有增量)(即每个文件在提交时的更改),你就会遇到一个更难的问题。但是,有一个简单的解决方案:

安装VisualSVN Serverhttp://www.ubersvn.com/并使用它来导入转储。然后使用像TortoiseSVN这样的工具来查看历史记录并单独导出每个文件(即,您刚刚创建了转储的svn存储库的副本,并且现在像任何subversion用户一样访问它)。