我们即将升级我们的基础架构并更改正在使用的操作系统(升级到RHEL5)。
我们还会将SVN存储库从当前服务器移动到新的RHEL5服务器,但是 - 我不确定应该如何进行此更改。 我记得曾经读过一次,如果我使用hotcopy命令,创建的副本只能在与备份操作系统具有相同操作系统的计算机上恢复。 它是否正确?即使我在RHEL4服务器上进行备份,我是否能够在RHEL5服务器上恢复存储库的副本?
另外,如果我们还要升级我们的SVN服务器版本,我是否可以在备份的不同版本的SVN服务器上恢复副本?
谢谢!
答案 0 :(得分:0)
当和 想要更改Subversion主机的基础架构时,hotcopy将是错误的选择。 必须才能使用svnadmin dump | load过程。
大多数情况下,旧版SVN-repos的备份可以在新版本上轻松恢复,但最好在所使用和计划之间的所有版本之间读取更改日志。无法在1.5之前回忆任何事情,但是,AFAIR,FSFS的1.5-1.7升级是透明的。
无论如何,您可以安装旧版本,将数据加载到repo中并在其后更新服务器
添加:svn load可以处理由以前版本创建的转储,没有任何问题
答案 1 :(得分:0)
您不需要svnadmin hotcopy。
您对备份的记忆不正确: FSFS-Repositories是平台中立的。您可以在unix计算机或Windows计算机上使用相同的存储库。您还可以升级服务器二进制文件,而无需担心存储库版本。
只要您拥有 FSFS repo类型,您就可以对所有存储库进行文件复制。 Hotcopy在大型回购上非常慢。
为了保持一致性,您应该禁用源代码库上的写访问权限。 最简单的方法是使用这一行创建一个预提交的hookscript:
exit 1;
只是为了确保: 这是不适用于BDB-Repositories ,因为svn 1.3 FSFS repo类型是默认的我认为你有一个FSFS存储库。
但是,使用以下方法检查复制的存储库的完整性至关重要:
svnadmin verify <PATH_TO_REPO>
在此之后,你对完整性的所有怀疑都应该消失; - )
答案 2 :(得分:0)
99%的情况下,您可以使用热拷贝代替转储。但是,你和我都知道,热门副本无法正常工作的时间很少,这将是你的职业生涯依赖它的时间。
因此,在备份过程中执行svnadmin dump
。如果对整个存储库执行svnadmin dump
将花费太长时间,则可以执行svnadmin dump
最近的更改。
我同时进行热拷贝和转储作为备份。