svn server地址: https://www.visualsvn.com/server/download/
安装svn
yum install -y subversion
创建目录
mkdir -p /data/svn/myproject
参数介绍: p 上一层目录中 如果不存在就创建
m 设置权限
创建项目版本库
svnadmin create /data/svn/myproject
配置文件简介
版本库中的配置目录 conf 有三个文件:
- authz 是权限控制文件
- passwd 是帐号密码文件
- svnserve.conf 是SVN服务综合配置文件
修改authz 配置
[groups]
#用户组
admin = admin,root,test
#用户组所对应的用户
[/]
#库目录权限
@admin = rw
#用户组权限
*=r
#非用户组权限
修改passwd 配置
[users]
# harry = harryssecret
# sally = sallyssecret
admin = 123456
root = 123456
test = 123456
subversion.conf配置
[general]
# force-username-case = none
# 匿名访问的权限 可以是read、write,none,默认为read
anon-access = none
#使授权用户有写权限
auth-access = write
#密码数据库的路径
password-db = passwd
#访问控制文件
authz-db = authz
#认证命名空间,SVN会在认证提示里显示,并且作为凭证缓存的关键字
realm = /data/svn/myproject
[sasl]
启动svn服务
svnserve -d -r /data/svn
实现流程:
mkdir -p /data/workspace/myproject
svn co svn://127.0.0.1/myproject /data/workspace/myproject --username root --password 123456 --force --no-auth-cache
(可以指定目录的名称)
#实验流程
cd /data/workspace/myproject
echo test >> test.txt
svn add test.txt
svn commit test.txt -m 'test'
cd /data/workspace/myproject
rm -rf test.txt
cd /data/workspace/myproject
svn update
重新启动
找到该进程杀掉并重新启动即可
ps -ef | grep svn kill -9 进程号 svnserve -d -r 库文件目录
Hook使用
有时候,我们频繁的进行提交,还要到服务器上进行手动的svn up 更新版本 ,我们希望可以本地提交了之后,服务器上的版本自动进行更新
1.找到svn的所在目录: 我的目录在/usr/local/svn/myproject 2.新建post-commit vim hooks/post-commit #!/bin/sh export LANG=zh_CN.UTF-8 SVN=/usr/bin/svn WEB=/home/wwwroot/myproject $SVN update $WEB --username xxx --password xxx 3.保存并退出 4.重启svn服务 svnserve -d -r /usr/local/svn/myproject
or
注意:
修改完成配置文件之后,一定要进行重启服务
常见问题:
svn使用的端口是: 3690
端口冲突造成
存放格式: