开发者社区> 余二五> 正文

svn服务器的配置

简介:
+关注继续查看
                            仓库:服务器上的文件
                            工作副本:客户端下载到本地的文件
                            工作副本的状态:
                            1、当前未更改
                            2、当前已更改
                            3、过时未更改
                            4、过时已更改

配置svn服务器
一、准备一台VM作为服务器
1、初始化
vh01.tedu.cn 192.168.4.1 selinux/firewalld/yum/
2、安装
[root@vh01 ~]# yum install -y subversion
3、创建svn数据库根目录
[root@vh01 ~]# mkdir /var/svn
4、创建项目目录
[root@vh01 ~]# svnadmin create /var/svn/project
5、修改配置文件
[root@vh01 ~]# vim /var/svn/project/conf/svnserve.conf 
anon-access = none #匿名用户不允许访问
auth-access = write #认证后的用主户可以读写
password-db = passwd #存储svn用户的文件
authz-db = authz #授权文件
[root@vh01 ~]# vim /var/svn/project/conf/passwd 
[users]
tom = tom123
jerry = jerry123
[root@vh01 ~]# vim /var/svn/project/conf/authz 
[groups]
tom_and_jerry = tom,jerry
[/]
@tom_and_jerry = rw

  • = r
    6、起动服务
    [root@vh01 ~]# systemctl start svnserve
    [root@vh01 ~]# systemctl enable svnserve.service 
    7、导入项目文件到svn服务器
    [root@vh01 ~]# cd /usr/lib/systemd/system
    [root@vh01 system]# svn import . file:///var/svn/project -m "Init Data"

客户端使用svn
1、客户端下载svn服务器上的项目文件
[root@vh01 system]# cd /opt/
[root@vh01 opt]# svn --username tom --password tom123 checkout svn://192.168.4.1/project code1
[root@vh01 opt]# cd code1/
[root@vh01 code1]# svn log
2、更新本地工作副本
[root@vh01 code1]# svn update 
3、新建文件
[root@vh01 code1]# vim foo.sh
#!/bin/bash

if [ "$1" == "foo" ]; then
echo "bar"
elif [ "$1" == "bar" ]; then
echo "foo"
else
echo "$0 foo|bar"
fi
[root@vh01 code1]# svn add foo.sh #把foo.sh加入svn本地管理
[root@vh01 code1]# svn diff #显示服务器和本地工作副本的区别
将本地文件同步到服务器
[root@vh01 code1]# svn commit -m "Add foo.sh to project"
4、新建目录
[root@vh01 code1]# svn mkdir subdir
[root@vh01 code1]# svn status #查看状态
5、删除文件
[root@vh01 code1]# rm cups.service # 本地删除
[root@vh01 code1]# svn update # cups.service将重新下载
[root@vh01 code1]# svn delete cups.service # 在svn中删除文件
[root@vh01 code1]# svn status 
[root@vh01 code1]# svn move foo.sh bar.sh # 在svn中改名
[root@vh01 code1]# svn commit -m "rename foo.sh, del cups.service, mkdir subdir"
6、练习
[root@vh01 code1]# sed -i '1a###test###' sshd.service 
[root@vh01 code1]# sed -i '2a###mytest###' sshd.service
[root@vh01 code1]# svn diff sshd.service
[root@vh01 code1]# svn diff 
[root@vh01 code1]# svn log svn://192.168.4.1/project
[root@vh01 code1]# svn commit -m "modify sshd.service"
7、将sshd.service回退到增加两行之前的状态
[root@vh01 code1]# svn merge -r4:2 sshd.service
[root@vh01 code1]# vim sshd.service 第六步新增的两行消失
8、将svn的第2版本的文件全部下载下来,叫做code2
[root@vh01 opt]# svn co -r2 svn://192.168.4.1/project code2

多人协作
1、tom和jerry分别下载了svn上面的项目
[root@vh02 ~]# cd /opt/
[root@vh02 tmp]# svn co --username tom --password tom123 svn://192.168.4.1/project tom
[root@room8pc16 ~]# svn ls --username tom --password tom123 svn://192.168.4.1/project 
[root@vh03 ~]# cd /var/tmp/
[root@vh03 opt]# svn co --username jerry --password jerry123 svn://192.168.4.1/project jerry
2、不同用户修改不同文件
[root@vh02 tmp]# cd tom/
[root@vh02 tom]# sed -i '3a#####my test####' vmtoolsd.service 
[root@vh02 tom]# svn commit -m "tom modify vmtoolsd.service"
[root@vh03 opt]# cd jerry/
[root@vh03 jerry]# sed -i '3a#####jerry test####' sshd.service 
[root@vh03 jerry]# svn commit -m "jerry modify sshd.service"
[root@vh03 jerry]# svn update #tom修改的vmtoolsd.service同步到本地
[root@vh02 tom]# svn update

3、不同用户改变相同文件的不同行
[root@vh02 tom]# sed -i '1a####tom modify###' user.slice 
[root@vh02 tom]# svn commit -m "tom modify slice.user"
[root@vh03 jerry]# sed -i '$a###jerry modify###' user.slice 
[root@vh03 jerry]# svn commit -m "jerry modify user.slice" #失败,因为文件过时了(本地版本号低于服务器上的版本号)
[root@vh03 jerry]# svn update #更新到最新版本
[root@vh03 jerry]# svn commit -m "jerry modify user.slice" #重新提交
[root@vh03 jerry]# vim user.slice # tom和jerry的修改全部存在
4、不同用户改变相同文件的相同行
[root@vh02 tom]# sed -i '8c#####tom tom tom####' zram.service 
[root@vh02 tom]# svn commit -m "tom modify zram.service"
[root@vh03 jerry]# sed -i '8c####jerry jerry####' zram.service 
[root@vh03 jerry]# svn commit -m "jerry modify zram.service"
[root@vh03 jerry]# svn update #选择p
[root@vh03 jerry]# ls zram.service
[root@vh03 jerry]# mv zram.service.mine zram.service
[root@vh03 jerry]# ls zram.service

[root@vh03 jerry]# rm -f zram.service.r
[root@vh03 jerry]# ls zram.service

[root@vh03 jerry]# svn commit -m "jerry modify zram.service"
5、svn服务器端备份
[root@vh01 tom]# svnadmin dump /var/svn/project/ > /var/tmp/project.bak
6、还原
[root@vh01 tom]# rm -rf /var/svn/project/
[root@vh01 tom]# ls /var/svn/
[root@vh01 tom]# svnadmin create /var/svn/project/
[root@vh01 tom]# svnadmin load /var/svn/project/ < /var/tmp/project.bak










本文转自 英强云计算 51CTO博客,原文链接:http://blog.51cto.com/13404755/2051846,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Linux环境下SVN服务器端的安装与配置
最近尝试了下在Linux(CentOS6.5)环境下安装与配置SVN服务器端,安装过程中碰到了一些问题,参看了网友们分享的一些心得,并通过自己实际的操作,最终安装与配置成功!总的来说网上的说法芸芸,大致都相同,但是有些细节不够详细或者不够到位,所以根据自己亲身经历,记录下安装与配置过程,仅供大家参看以及自己之后再次使用提供方便。
1164 0
SVN安装配置与使用
1、  所选服务器安装包:VisualSVN-Server-2.1.3.msi、 2、  客户端安装包:TortoiseSVN-1.6.2.16344-win32-svn-1.6.2.msi 一、服务器的安装:         注意:l...
1045 0
SVN服务器从Windows迁移到LInux
一、备份VisualSVN项目 1. 现在要使用Linux作为svn服务器,之前是在windows Server 2008上的,用的是VisualSVN, 如下图所示。 2. 现在svn中有一个项目fpp,需要将fpp这个项目导出到linux环境下。
1445 0
【技术贴】myeclipse6.5配置svn 1.8最新版详细教程带图片
myeclipse最新配置svn 1.8 最新版教程详细(适合7.5以下版本,7.5以上的太卡了,没必要用那么新的IDE开发java) 步骤 首先打开Myeclipse6.5 在菜单栏中选择Help→Software Updates→Find and Install 选...
1169 0
SUV的配置及使用(配置SVN客户端)|学习笔记
快速学习SUV的配置及使用(配置SVN客户端)
24 0
linux下svn服务器安装配置与启动
1. 采用源文件编译安装。源文件共两个,为:      subversion-1.6.1.tar.gz  (subversion 源文件)      subversion-deps-1.6.1.tar.gz  (subversion依赖文件)      注意文件版本必须一致,否则很容易产生各种奇怪的问题. 2. 上传以上两个文件到服务器上,解压。
1215 0
+关注
20380
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载