Subversion Edge 2.x迁移说明

 记录了Subversion Edge 服务器的迁移步骤,特别是关于用户迁移的步骤很少有完整的说明。 以2.0.0为源服务器迁移到2.2.1的目标服务器为例,svn的验证使用使用 htpasswd 文件的本地认证。如果使用LDAP作为用户管理,可以参考官方的迁移说明。

 

1.       预备

1)      下载安装包CollabNet Subversion Edge 2.2.1,地址http://www.open.collab.net/cn/downloads/subversion/

2)      备份数据

3)      安装程序

 

2.       在目标服务器上安装Subversion Edge,可以使用最新版2.2.1。也可以仍然使用2.0.1。理论上没有影响。

3.       管理页面重新指定基础选项

·         主机名:    域名全称

·         端口:    标准端口可能需要额外设置。 

·         版本库父文件夹:    包括所有版本库的父文件夹。

·         IP 地址:   

·         网络接口:    

·         管理员:   

·         管理员电邮:   

 

4.       数据迁移

a)      停止相应服务或者停止单个库

b)      把相应的repository从旧服务器复制到新服务器

c)       把commonscript从源服务器的库父文件夹复制到新的文件夹中。

d)      在每个repository目录下的hooks中的bat文件修改python.exe的路径,指向{安装目录}\Python25

e)      启动新服服务器

f)       在”版本库”页面选择”发现版本库”

*注: 我的SVN库中使用了python脚本做为hook,所以需要相应的script目录和bat路径,如果不用hook,或者hook用其他方式实现,就可以使用其他方法了。 

5.       用户迁移

a)      停止SVN和SVn Edge服务

b)      备份需要修改的文件

c)       修改SVN用户名和密码:从原始机器中拷贝{安装路径} \data\conf下的文件,特别是svn_auth_file。

d)      修改SVn Edge用户名和密码

i)        {安装路径}\data\csvn-production-hsqldb.script

ii)       修改USER表内容

(1)    如果版本相同,从里面copy类似INSERT INTO USER VALUES(1,2,'admin user','[email protected]',TRUE,'f52c7457507a292a11bf8d274d720ee4','Super Administrator','admin')语句到新服务器的对应文件。

(2)    如果版本不同,根据CREATE MEMORY TABLE USER的内容调整对应列的内容。2.0.0和2.2.1的格式就不同,在script文件中可以找到。

iii)     修改USER表ID的起始值ALTER TABLE USER ALTER COLUMN ID RESTART WITH 55。可以从旧文件复制

iv)     调整ROLE_PEOPLE表数据,复制INSERT INTO ROLE_PEOPLE VALUES(xx,xx)的所有行

e)      重启启动服务,或者重新启动服务器

 

6.       设置用户权限

a)      通过管理页面拷贝或者使用{{安装目录}\Data\conf\svn_access_file

 

7.       修改路由器对应端口映射,对外提供服务

8.       官方的迁移指南见https://ctf.open.collab.net/sf/wiki/do/viewPage/projects.svnedge/wiki/MigrationPath

 

 

你可能感兴趣的:(SVN,服务器,user,insert,subversion,hook)