centOS下SVN安装和配置
1》SVN服务器端文件可见问题
在平时使用SVN时候,一直以为在客户提交文件,那么在服务器对应的版本库下面就会有相同文件。在自己搭建后,发现提交到服务器端文件完全看不见。。。。
这是由于SVN服务器端不是简单将上传的文件一个个存起来,而是采用特殊格式,按照内容增量方式存放,等于说每次文件修改commit,就会生成一个标志文件,而这个文件内只是记录了增加(删减)位置+增加(删减)内容;
2>安装
yum list subversion 查看软件列表中subversion
yum -y install subversion 安装
whick subversion 查看安装目录
svnserve --version 查看是否安装成功
3》修改根目录
subversion安装后默认根目录是在/var/svn下,可以通过修改/etc/sysconfig/svnserve配置文件中OPTIONS来改变根目录
4>建立版本库
mkdir -p /var/svn 建立根目录
snvadmin create /var/svn/myrepo 建立一个版本库.
myrepo目录下必然有以下文件
主要是修改conf下三个文件
4.1》先修改passwd文件,按照‘用户名=密码‘
4.2>在修改authz,这个文件比较关键
[groups]是组,这个组随便定义的,跟liunx系统组无关。按照"组名 = 用户",但用户必须是passwd里面定义的,不能随便填。
这里有两个版本库maoke和s1s,分别定义了访问权限
[maoke:/] 表示maoke版本库访问权限,图中是按照用户定义访问权限的。而s1s是按照组定义,按照组定义时候前面要加"@"符号
* = 表示无权限的人无法访问
4.3>svnserve.conf配置
这里有建议,将每个版本库中的passwd和authz文件删除,将svnserve.conf中password-db和authz-db指向一个文件,这样可以统一管理版本库的登陆权限,而不需要一个一个的处理。如上截图
realm 表示此版本库说明,随便写。
5>启动svn
systemctl start svnserve.service
检查服务是否启动成功。
$ ps aux | grep svn
root 16349 0.0 0.1 162180 900 ? Ss 15:01 0:00 /usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid -r /opt/svn
通过netstat可以看到SVN打开了3690端口。
$ sudo netstat -tnlp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 16349/svnserve
6>设置成开机启动。
systemctl enable svnserve.service 如下截图
7>SVN文件管理
第一时候,先checkout空版本库。然后建立trunk,branches,tags进行管理
最新文章
- Redux初见
- STM32f103之外部中断
- ZOJ 1178 Booklet Printing
- What are some good resources for learning about Artificial Neural Networks
- JavaScript基本概念(一) v0.5
- python基础知识(引用)
- C++堆和栈的比较(7个区别)
- 用反射,将DataRow行转为Object对象
- 2.11. 创建托管对象(Core Data 应用程序实践指南)
- MySQL(三)之SQL语句分类、基本操作、三大范式
- Java I/O---字符与字节转换流---FileReader&;FileWriter:
- BZOJ 1116: [POI2008]CLO [连通分量]
- [ExtJS5学习笔记]第二十三节 Extjs5中表格gridpanel的列格式设置
- Linux Shell脚本攻略学习总结:二
- zabbix3.2使用fping批量监控ip的连通性
- MySQL列类型选择
- postMessage使用方法
- html走马灯效果
- .NET笔试题集(五)
- 转:asp.net mvc下的多语言方案 包含Html,Javascript和图片