2011-07-10 44 views
2

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

我在窗户上,我根本没有得到SVN。

+0

真的很重要你是说你收到SVN中每个文件的html输出?或者您收到了回购协议中所有文件的列表? – Suroot

+1

问题在于模糊。你有一个svn转储文件?您想做什么?只是提取一些文件?或者提取包含转储路径的存储库? –

回答

1

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

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

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

+0

它是完整的,由它的声音。我有VisualSVN和SilkSVN,我能做些什么来提取完整​​的数据? – Brooke

+0

阅读http://svnbook.red-bean.com/了解SVN,特别是关于将转储导入存储库的一点。然后开始使用你的新回购。 – gbjbaanb

+0

此过程在Windows 7上运行,安装VisualSVN服务器,然后使用TortoiseSVN。对于导入,您可能想要参考https://www.visualsvn.com/support/topic/00010/#import-local –

3

这里有一个简单的指南 - 它是Linux/UNIX的,但在DOS提示符下工作: http://www.mhermans.net/get-files-from-svn-dump.html

首先 - 下载SVN http://subversion.apache.org/packages.html#windows 命令行这可能是一个挑战,但最终你将有svn.exe和svnadmin.exe在某个bin文件夹中。一旦你拥有它是一帆风顺:

从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

几周前,我在那封旧博客文章的每封邮件中收到了评论:“'svn init'不是一个选项;必须:'svnadmin create backup_repo'“。没有测试过,但也许会有帮助。 – mhermans

+0

'init'也不适用于我,'创建'也没有。在Windows 7. – DCShannon

+0

当然,然后下一行不起作用:“c:\ Code \ Iris>键入svn \ svn.svn_dump | svnadmin加载 svnadmin:E205000:需要存储库参数 该进程试图写入不存在的管道“。 – DCShannon

5

由亚当·巴特勒答案几乎是完美的,但我得到了一些问题,所以在这里是我的工作液:

在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只包含常规/

+0

您的svnadmin负载线正常工作,谢谢! – Kon

+0

无论如何,svnadmin create创建文件夹时,自己做mkdir至关重要吗? –