`
yianpuodiaotu
  • 浏览: 241691 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

svn的迁移及备份说明

    博客分类:
  • SVN
阅读更多

这是我的一同事整理的一篇“SVN迁移”的文章,相当漂亮、实用。记下共勉。

 

迁移步骤:
一、在192.168.53.22上安装svn1.6.3服务器:CollabNetSubversion-server-1.6.3-3.win32.exe
1、在http://www.collab.net/downloads/subversion/地址下载服务器和客户端安装包,使用用户名ww100hh,密码为我个人常用的。
2、安装服务器,按缺省配置,选择也同时安装Apache,设为系统服务,设置仓库目录为F:\svn_repository,Apache端口由80改为8080(因为22机器上的CSP tomcat占用80端口了)。
3、安装完成。
4、配置库迁移:从53.7上复制K:\svnroot\psm目录到53.22的F:\svn_repository\psm即可。如果除了迁移外,还想建新的配置库,操作如下:
1)创建仓库目录:svnadmin create C:\repos\projectname
2).修改svnserve.conf中的权限:
anon-access = read
auth-access = write
password-db = passwd
realm = projectname
5、在服务中启动CollabNet Subversion svnserve服务。(由于产品管理部暂时用不到浏览器模式,所以将服务中的CollabNet Subversion Apache置为手动并关闭即可)
6、服务器的迁移工作完成。为了避免53.7再被误使用,原53.7的psm目录转移到了k:\svnroot\Suite 版本库_bak\psm。

二、客户端重定向
1、在客户端机器上存放产品管理部svn(代码)的最顶层目录中使用右键,选择“TortoiseSVN”>>"Relocate...",打开更改svn版本库访问路径对话軭,输入更改后的路径svn://192.168.53.22/psm,然后一直确定即可。
更改前的svn访问路径
svn://192.168.53.7/psm
更改后的svn访问路径
svn://192.168.53.22/psm
2、如果过程中提示某个目录被locked了,提示你clean up,那么按提示,先在该目录下“TortoiseSVN”>>"Clean up",然后再Relocate即可。

备份步骤:

三、在53.5机器的E盘创建svn同步备份库:E:\svnroot\svn_psm_bak
1、53.5机器本身已安装有svn1.5.1,不需再安装,svn1.4以上版本支持svnsync同步命令。该机上已有一个svn库,是suite开发的,安装在D盘上,而产品管理部svn备份库要放在E盘。由于处在不同的盘符下,svn不支持共用一个系统服务,而是必须为每一个盘符分别启动1个系统服务(且各设一个端口,否则冲突)。因此需参照已有的suite库的做法,安装启动一个自己专用的系统服务。
2、首先在53.5的E盘建立一个svnroot主目录,然后创建这个新的用于备份的配置库:
svnadmin create E:\svnroot\svn_psm_bak
3、然后在53.5上创建svn系统服务,参考wiki资料:http://192.168.53.10/pages/viewpage.action?pageId=5376011。
1)打开cmd,执行如下创建命令,注意端口设为8083,执行完后,显示“[SC] CreateService 成功”:
sc create svn_psm_bak binpath= "\"C:\program files\Subversion\bin\svnserve.exe\" --service --listen-port 8083 -r E:\svnroot" displayname= "svn_psm_bak" depend= Tcpip start= auto
2)执行启动服务命令(也可直接在服务窗口操作):
net start svn_psm_bak
4、修改这个目标库的脚本:将H:\svn_psm_bak\hooks\pre-revprop-change.tmpl文件复制2个改名为pre-revprop-change和pre-revprop-change.bat,内容都改为只有1句:exit 0
5、在53.5机器上,对目标库初始化,执行完以下命令后会显示“复制版本 0 的属性”。
svnsync init file:///E:/svnroot/svn_psm_bak svn://192.168.53.22/psm --source-username your_name --source-password ***
6、执行同步,执行完以下命令后数据就开始传输。
svnsync sync file:///E:/svnroot/svn_psm_bak --source-username you_name --source-password ***
7、钩子自动同步
希望在每次提交时同步,则
1)需要在源版本库53.22增加post-commit脚本,内容如下:
echo off
set SVN_HOME="C:\Program Files\CollabNet Subversion Server"
%SVN_HOME%\svnsync sync --non-interactive svn://192.168.53.5:8083/svn_psm_bak
把以上内容存放为post-commit.bat,为保险起见也复制一个不带后缀名的post-commit文件,两文件内容相同,然后都放到53.22版本库F:\svn_repository\psm下的hooks目录下,重启svn服务。
2)需要修改备份库53.5的认证权限,让非认证用户也可以有写操作。具体是修改E:\svnroot\svn_psm_bak\conf\svnserve.conf文件,
将 # anon-access = read
改为:anon-access = write
保存后重启svn服务。
这样psm每次提交,都会引起svn_psm_bak的同步。

分享到:
评论

相关推荐

    svn版本库迁移方法

    - **增量备份与恢复**:虽然本文未提及增量备份或批次备份及恢复的方法,但在某些情况下这些功能也非常有用,尤其是在版本库非常大或者频繁更新的情况下。对于这类需求,可以考虑使用更高级的备份策略和技术。 通过...

    svn备份、还原与迁移操作手册.docx

    SVN 备份、还原与迁移操作手册 SVN(Subversion)是一种版本控制系统,用于管理软件开发过程中的代码变更。备份、还原和迁移是 SVN 中三项非常重要的操作,以下是关于 SVN 备份、还原与迁移的知识点总结: 一、SVN...

    centos7 svn 迁移

    1.原始服务器备份svn svnadmin dump /usr/local/svn > /backup/svn cd /backup sz svn(到本地)

    SVN备份操作(包括完全备份,增量备份和同步版本库)

    ### SVN备份操作详解 #### 一、概述 版本控制系统的核心目标之一是确保数据的安全性和可靠性。对于企业级项目管理而言,任何因硬件故障或软件错误导致的数据丢失都是无法接受的。因此,制定全面且可靠的备份策略...

    svn安装和配置 库备份和迁移

    在这个主题中,我们将深入探讨SVN的安装和配置,以及如何进行库的备份和迁移。 1. SVN安装: - **Windows**:在Windows上,可以使用VisualSVN Server,它提供了一个易于使用的图形界面来管理SVN服务器。 - **...

    如何将SVN项目迁移至Git

    将 SVN 项目迁移到 Git 是一个常见的操作,特别是在团队决定从 SVN 转换到 Git 这种更现代化的版本控制系统时。以下是一份详细步骤,涵盖了如何将 SVN 项目迁移到 Git,...记得在迁移前备份原有 SVN 数据,以防万一。

    SVN版本库无损迁移与自动备份

    该描述说明了作者对 SVN 版本库迁移和自动备份的总结,并希望与读者一起学习和进步。 标签:“SVN” 该标签表明了本文的主题与 SVN 相关。 部分内容 本文的部分内容包括两个部分:业务目标和相关指令。 业务...

    svn迁移脚本.rar

    首先,svn迁移通常涉及到以下几个核心步骤:备份源仓库、创建目标仓库、迁移数据以及测试验证。手动操作这些步骤不仅耗时,而且容易出错。为了提高效率和准确性,使用自动化脚本是明智的选择。"svn迁移脚本.rar"中的...

    Subversion库迁移及备份方案

    ### Subversion库迁移及备份方案详解 #### 一、引言 随着企业的发展和技术的更新迭代,Subversion (SVN) 作为一款流行的版本控制系统,在软件开发过程中扮演着重要的角色。随着时间的推移,可能会出现需要迁移SVN库...

    svn资源迁移

    在进行SVN资源迁移时,确保备份源仓库是非常重要的,以防在迁移过程中出现问题。同时,与团队成员沟通,让他们知道迁移的时间窗口,以避免在迁移期间进行任何操作。此外,迁移完成后,及时通知所有用户更新他们的SVN...

    CVS迁移SVN工具亲测可用

    在进行CVS到SVN迁移时,可能需要与RCS交互来获取CVS仓库的信息。不过,这通常由cvs2svn内部处理,用户一般不需要直接操作rcs57pc1。 **UnxUpdates** `UnxUpdates` 不是标准的CVS或SVN工具,但在某些情况下,可能被...

    svn项目迁移命令

    2. **备份原始SVN仓库**:在进行任何操作之前,建议先对原始SVN仓库进行全面备份,以防万一迁移过程中出现问题。 3. **确定目标服务器**:选择合适的目标服务器,并确保其已安装VisualSVN Server或至少具备执行迁移...

    SVN配置库备份方案

    压缩包中的"SVN备份方案.docx"可能是详细备份方案的文档,而"script"可能是一个示例备份脚本或说明文件。阅读这些文件将进一步深入理解具体的备份流程和注意事项。 总之,SVN配置库备份是软件开发过程中的关键环节...

    一段进行SVN备份的脚本

    VSS是微软提供的一种早期版本控制系统,一些组织可能需要将VSS数据迁移到SVN,或者在两者之间进行同步。 总之,这段脚本和相关文件旨在提供一个全面的解决方案,不仅涵盖了SVN仓库的自动备份,还可能包含了数据分析...

    SVN仓储数据整体迁移

    本文档详细介绍了如何进行SVN仓储数据的整体迁移,确保在新服务器上保留所有版本号和版本信息。 一、SVN仓库概述 SVN仓库是SVN系统的核心,它存储了项目的所有历史版本,包括文件和目录的更改。每个版本都有唯一的...

    SVN版本库的迁移(从一台服务器迁移到另一台服务器)

    **SVN 版本库迁移**是当原始服务器出现问题或者需要更换硬件、升级软件环境时必要的操作。迁移过程确保了代码版本控制系统的连续性,不影响团队的开发工作。以下是两种常见的SVN版本库迁移方法: ### 第一种方法:...

    vss库迁移到svn库

    标题中的“vss库迁移到svn库”是指将基于Visual SourceSafe(VSS)的版本控制系统中的代码库转换到Subversion(SVN)系统的过程。这个迁移过程通常是为了升级版本控制系统的功能,或者因为团队已经从VSS转向了对SVN...

    从CVS迁移至SVN的两种方法

    【从CVS迁移到SVN的两种方法】 ...在迁移过程中,务必备份原有CVS数据,以防止意外损失。同时,迁移后的用户培训和新工作流程的适应也是不可忽视的环节。希望这个指南能帮助你顺利完成从CVS到SVN的平滑过渡。

    vss库迁移到SVN库的操作方法

    【VSS库迁移到SVN库的操作方法】 Visual SourceSafe(VSS)是一款由Microsoft开发的版本控制系统,而Subversion(SVN)则是一个开源的版本控制系统,被广泛用于项目协作和源代码管理。在某些情况下,用户可能需要将...

Global site tag (gtag.js) - Google Analytics