从 svnadmin hotcopy 创建 SVN 存储库

Posted

技术标签:

【中文标题】从 svnadmin hotcopy 创建 SVN 存储库【英文标题】:Create SVN repository from svnadmin hotcopy 【发布时间】:2014-12-20 16:32:55 【问题描述】:

我备份了我所有的 svn 存储库文件夹,遗憾的是我对 svn 转储格式一无所知。备份是使用“hotcopy”创建的

现在我的服务器坏了,我不得不从头开始重新安装所有东西,我想重新导入 svn 存储库。

将它们复制到文件夹中不起作用并且

svnadmin 创建 /my/existing/repository

也没有用。

是否有可能以“简单”的方式恢复我的存储库?

【问题讨论】:

我很确定svnadmin create 简单的方法。我会试着弄清楚这是怎么回事。 当我在现有存储库上执行此操作时,我得到:svnadmin: E165002: '/home/pi/svn/myrepo' is an existing repository 所以听起来你的 svn 服务器可能还在跛行?不完全确定发生了什么,但在this thread 上达到顶峰。 这是一个没有创建存储库的新服务器,我想使用旧服务器中的存储库?!存储库不是 .dump 格式,它们只是 svn 创建的副本使用 svnadmin create 创建存储库后的文件系统 在导入到新服务器之前,您可能需要删除 .svn 条目。 【参考方案1】:

只需将 hotcopy 传输到新服务器并将 svn 服务器指向它。

唯一需要注意的是 svn 服务器版本之间的巨大差异。如果新服务器与旧服务器上使用的格式不兼容,它可能无法正常工作。

这是我做的一个实验来说明的。我的笔记本电脑上有一个存储库~/svnServe/importantApp

根据原始 repo 启动 svn 服务器

svnserve --listen-host 127.0.0.1 -d -r ~/svnServe/importantApp/

从 svn 客户端运行 list 命令

svn list svn://127.0.0.1/
branches/
tags/
trunk/

制作服务器的热拷贝

svnadmin hotcopy ~/svnServe/importantApp ~/svnServe/importantAppHotcopy

针对 hotcopy 启动服务器

sudo svnserve --listen-host 127.0.0.1 -d -r ~/svnServe/importantAppHotcopy/

从 svn 客户端运行 list 命令

svn list svn://127.0.0.1/
branches/
tags/
trunk/

【讨论】:

谢谢,我怎样才能将svn服务器指向它?因为那正是我卡住的地方 你用什么做服务器,Ubuntu、Windows、Apache? 它是一个带有 raspbian 的树莓派。非常感谢,我去试试 好的,只是一个简单的 svnserve -d -r ./svn 为我做了 :) 非常非常感谢。但是如果服务器重启会发生什么? 可能有一种方法可以将它挂接到 init.d 中,这样您就不必手动运行 svnserve。我不熟悉树莓派,是 ubuntu 吗?

以上是关于从 svnadmin hotcopy 创建 SVN 存储库的主要内容,如果未能解决你的问题,请参考以下文章

svn全备份,用svnadmin hotcopy命令,总提示系统找不到指定路径,怎么办?

svnadmin hotcopy 无限期挂起

svnadmin 从 svn 1.4 加载到 1.7

SVN+Apche+Nginx+IF.svnadmin管理

SVN迁移

svnadmin 加载但保留修订号