linux配置svn服务器
以centOS为例:
1:源安装:
# yum install subversion
2:查看是否安装成功:
svnserve --version
2:进入svn目录,建立文件仓库:
# svnadmin create /usr/local/svn/work//work是文件仓库,自己命名
3:打开work文件仓库中的conf,进行配置。
4:编辑svnserve.conf文件,把如下三行取消注释
password-db = password anon-access = read 改为 none auth-access = write
//补充说明
# [general]
anon-access = read
auth-access = write
password-db = passwd
其中 anon-access 和 auth-access 分别为匿名和有权限用户的权限,默认给匿名用户只读的权限,但如果想拒绝匿名用户的访问,只需把 read 改成 none 就能达到目的。
5:编辑passwd文件:加入用户名,密码:比如:
admin=123
6:编辑authz文件用户分组,比如
[groups] g_admin = admin,lixiaolong g_outh = lilianjie,chenlong
7:启动:
# svnserve -d -r /usr/local/svn//仓库文件
8:停止:
# svn: ps -ef | grep svn然后 kill 即可
9:如果还要把文件从svn上面同步到其他目录,假如我这里还要同步到/usr/local/www目录,则按照下面:
9.1:假设仓库是work:
# svn co svn://192.168.0.241/work /usr/local/www/work
如果提示输入密码,第一次是电脑系统的密码,第二次是svn的
9.2:进入仓库目录,进入里面的hooks,将文件post-commit.tmpl 复制为post-commit,并修改为可执行权限:chmod +x post.commit
9.3:把最后三行注释掉,如:
#REPOS="$1" #REV="$2" #mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf
9.4:在最后加上:
svn update /usr/local/www/work
文件开头加上:
export LANG=en_US.UTF-8 #支持中文文件名
如果co的时候要输入密码的话,必须这样:
# svn update /usr/local/www/work --username=admin --password=888888//svn的用户名密码
9.5:重启svn,注意同步中文文件名可能会有问题,参考其他资料
9.6:win下面批量删除svn标示的方法:dows批量:for /r d:themes %i in (_svn) do rd /s /q %i
表示删除d盘themes目录下所有的_svn文件
启动多个svn:可以启动多个版本库,需要指定不同的端口:
svnserve -d --listen-port 3690 -r /svn0 svnserve -d --listen-port 3691 -r /svn1