CentOS安装SVN常用 命令
查看安装版本:svnserve --version
安装:yum install subversion
删除:yum remove subversion
查看安装位置 :rpm -ql subversion
建立 svn 根目录 :mkdir /data/starball starball 是repository
ll /starball
README.txt 版本库的说明文件
conf 配置文件件夹(后续操作最多的文件夹)
db SVN数据文件文件夹
format 当前版本库的版本号
hooks SVN的钩子脚本文件夹
locks SVN的文件锁相关的文件夹
输入命令 :vim /data/starball/conf/svnserve.conf 编辑配置文件
anon-access=none #去除文件前的注释,将read改为none,防止匿名访问
auth-access=write #去除文件前的注释
password-db=passwd #去除文件前的注释
authz-db = authz #去除文件前的注释,访问权限配置,非常重要,不打开,分组权限不生效
realm = This is My First Test Repository ##这个是提示信息
:wq! 保存退出
添加访问starball用户
进入conf目录输入vi passwd
[users]
# harry = harryssecret
# sally = sallyssecret
albert=123456
findyou=123456
abc=123456
love=123456
测试增加四个用户
接下来配置权限
[groups]
g_qa=albert,findyou
g_read=abc
[TestCode:/] #[<版本库名>:<路径>]
@g_qa=rw #<用户组> = <权限> ,第一种方式
@g_read=r #<用户名> = <权限> ,第二种方式
love=r
*= #* = <权限>,第三种方式,*为任意用户,此为禁止匿名用户访问
防火墙开放SVN端口通行 iptables -A INPUT -p tcp --dport 3690 -j ACCEPT
默认 3690 ,如果是云主机 可以添加规则 0.0.0.0/0 上增加3690
svnserve -d -r /usr/svn //svn默认监听3690端口 //或者指定3391等其他端口号启动服务器 svnserve -d -r /usr/svn --listen-port 3391
注意:更改svnserver.conf时需要重启SVN服务,更改authz,passwd文件时则不需要重启服务
svnserve -d -r /data/
注:命令写入脚本,开机执行,如需要停止SVN,用 “ps -ef|grep svn” 查找到进程;再 " kill -9 进程号 " 即可。
由于没有加入开机自启动脚本,所以关掉服务器之后svn服务也需要手动启动。
编辑rc.local文件
vi /etc/rc.d/rc.local
/usr/bin/svnserve -d -r /data/
注意路径需要完整
SVN客户端访问
svn://IP/TestCode
启动SVN服务:
svnserve -d -r /home/svn
/home/svn 为版本库的根目录;
关闭SVN服务:
使用以下命令查找进程 然后杀掉进程号
ps aux | grep svn
ps -aux|grep svnserve
kill -9 ID号
lsof -i tcp:3690查看占用端口
经常有新手配置基于svnserve的subversion服务器后,
在客户端访问subversion版本库时出现这个错误:
svnserve.conf:12: Option expected
为什么会出现这个错误呢,就是因为subversion读取配置文件svnserve.conf时,无法识别有前置空格的配置文件
配置要顶格写.
启动svn版本库 svnserve -d -r /svn仓库根路径/(停止SVN命令 killall svnserve)
新建ignore文件:
svn:ignore、global-ignores区别:
1、svn:ignore:只对当前目录有效;
global-ignores:是全局有效,就是所有目前都有效;
2、svn:ignore:必须每个工作目录都要设置,个性化配置;
global-ignores:只需要配置一次,使用方便;
SVN默认不对.project文件进行版本管理,如果要忽略.settings, target目录和.classpath文件,则可利用TortosieSVN客户端设置svn:ignore或svn:global-ignores属性。在本地工作根目录上,右键 -> TortosieSVN -> Properties来设置svn:ignore属性,设置规则如下:
.settings
.settings/*
target
target/*
.classpath
.project
注意:上面的属性字符后面不能带空格。复制上述代码时,不要直接拷贝,而使用iteye的代码片段复制功能
设置好忽略的文件和目录后,选择Apply Property Recursively,将SVN属性也一同应用到所有子目录上,然后提交到SVN,将设置的SVN属性生效。
注意:重启svn服务可能会导致配置的权限和用户丢失 ,如果出现授权错误,请注意查看 配置文件。