我收到一个SVN转储文件,其中包含大量页面(所有HTML页面,以及所有服务器端代码)。我想把它们分开,但不知道怎么做。
我使用的是windows系统,但是我根本无法访问SVN。
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必须只包含常规的/
这里有一个简单的指南-它适用于linux/unix,但在dos提示符下工作:http://www.mhermans.net/get-files-from-svn-dump.html
首先下载命令行svnhttp://subversion.apache.org/packages.html#windows这可能是一个挑战,但最终你会在某个bin文件夹中有svnadmin.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
假设您有一个完整的转储,而不是增量转储,您可以轻松地提取文件。它们与一小段头信息(包括文件大小)一起存储,后面跟着文件本身。
如果您有一个增量转储(其中您有文件的初始版本,然后只有增量)(即每个文件提交时的更改),您将遇到一个更困难的问题。然而,有一个简单的解决方案:
安装VisualSVN Server或http://www.ubersvn.com/,并使用它导入转储文件。然后使用像TortoiseSVN这样的工具来查看历史记录并单独导出每个文件(即,您刚刚创建了转储svn存储库的副本,现在可以像任何subversion用户一样访问它)。