msgbartop
better late than never
msgbarbottom

Aug 17 svn多版本库搭建,原有版本库迁移

缘由:

公司原来只有技术部使用svn,每次html页面修改,前端总是传来一个又一个压缩包,改得不厌其烦- -,之前就提过一次,让前端也使用svn,最后不了了之。现在正好原来的运维辞职了,新的运维还没到,暂代的运维非常繁忙,我就亲自出马了,哈哈 :)。这里大致把自己做的步骤说下。

需求:

为产品,设计,前端建立新的svn版本库,同时把原有技术的版本库迁移过来统一管理,并保持原来所有修订版本。

权限如下:

pm ued html dev
pm rw r r r
ued r rw - -
html r r rw -
dev r - r rw

开工:

服务器端:

先建立版本库存放的根目录:

mkdir /data/svn2011

建立不同的版本库:

svnadmin create /data/svn2011/pm

svnadmin create /data/svn2011/ued

svnadmin create /data/svn2011/html

svnadmin create /data/svn2011/dev

统一账号密码管理,权限设置:

mkdir  /data/svn2011/conf

cp /data/svn2011/dev/conf/authz /data/svn2011/conf/

cp /data/svn2011/dev/conf/passwd /data/svn2011/conf/

添加用户:

vim /data/svn2011/conf/passwd

在[user]下添加账号密码,格式如下,一行一个,注意等号前后空格:

user = password

admin = 123456

pm = 123456

ued = 123456

html = 123456

dev = 123456

……

话说,密码是明文的= =

权限分组:

vim /data/svn2011/conf/authz

文件内容基本如下:

[groups]

admin_group = admin #若是还有其他用户,用逗号分隔,必须是passwd中已有用户账号

pm_group = pm

ued_group = ued

html_group = html

dev_group = dev

设置权限:

[pm:/] #pm版本库根目录

@pm_group = rw

@ued_group = r

@html_group  = r

@dev_group = r

如果没有权限,可以不写,或者等号后面留空,其他版本库设置类似。

配置下每个版本库的svnserve.conf

vim /data/svn2011/dev/conf/svnserve.conf

我这里都是相同的,改下面这四句:

# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz

改为:

anon-access = none
auth-access = write
password-db = /data/svn2011/conf/passwd
authz-db = /data/svn2011/conf/authz

到此,新版本库的前期工作基本结束了。下面迁移原有技术部版本库至/data/svn2011/dev目录下

SVN提供了dump和load命令,详情可点击这里查看

简单来做就是:

svnadmin dump /data/myrepos > /tmp/repos

svnadmin load /data/svn2011/dev < /tmp/repos

命令执行成功后,基本算是迁移好了。

停止原有svnserve服务,启动新服务

/path/to/svnserve -d -r /data/svn2011

#这步我查了蛮多资料的,开始以为要启动多个进程,没想到这么简单,启动时参数设成版本库的根目录就可以了。

客户端使用:

新建的版本库直接检出就可以了。

迁移的版本库需要重新定位一下,用小乌龟操作还是很简单的。

现在看着步骤好像不太难,其实花了一天工夫捏。特别感谢SN童鞋的热心帮助。很多东西都是请教他的,感谢此童鞋百忙之中还抽空帮我解决问题。:)

PS:白天做的,半夜写的,不知道有没有遗漏步骤,有发现的童鞋还请批评指正。



Reader's Comments

  1. |

    学习了 :jiayou:

    [回复]

    N 回复:

    @牛子, hi,牛子 :touxiao:

    [回复]

  2. |

    膜拜李头 :lei:

    PS:汗,验证码居然是:TNND

    [回复]

  3. |

    走http的话 apache WebDAV 可以不是明文哦。系统htpasswd 创建密码。

    [回复]



Leave a Comment




*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word