从 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 存储库的主要内容,如果未能解决你的问题,请参考以下文章