Fork me on GitHub

CentOS 安装 SVN 及配置Ignore文件

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服务可能会导致配置的权限和用户丢失 ,如果出现授权错误,请注意查看 配置文件。

posted @ 2018-03-08 16:19  低调的神  阅读(353)  评论(0编辑  收藏  举报