GNU开发工具——SVN简介

一、SVN简介

SVN是Subversion的简称,是一个开放源代码的集中式版本控制系统,是CVS的改进版,采用了分支管理系统,设计目标就是取代CVS。

1、SVN服务器

SVN服务器支持linux和windows,有两种运行方式:独立服务器和基于Apache运行。

SVN的版本数据存储方式有两种:BDB(事务安全型表类型)和FSFS(无数据库的存储系统)。

常见的SVN服务器软件:VisualSVN(windows)、subversion(CentOS)

下载地址:http://subversion.apache.org/packages.html

2、SVN客户端

SVN客户端有两类:一类是基于web的websvn,需要web服务器支持,另一类是TortoiseSVN等客户端,需要在本地安装。

常见SVN客户端软件:TortoiseSVN(Windows)、mod_dav_svn(CentOS)

下载地址:http://subversion.apache.org/packages.html

二、SVN安装

1、Windows环境SVN服务器的安装

下载VisualSVN-Server-3.5.3-x64

 

 选择标准版,进入标准版配置菜单

 至此,VisualSVN-Server安装完毕

2、Windows环境SVN客户端的安装

下载TortoiseSVN

 3、CentOS环境SVN服务器的安装

yum install subversion

Ubuntu环境:

apt-get install subversion

4、CentOS环境SVN客户端的安装

yum install mod_dav_svn

Ubuntu环境:

apt-get install libapache2-svn

三、SVN使用

1、Windows环境VisualSVN-Server服务器的配置

打开VisualSVN Server Manager

 A、创建版本库

 选择版本库的类型

标准的SVN仓库

分布式仓库

 B、建立用户和组,分配权限

建立用户

 创建组

 设置用户权限

 添加用户apple

 至此,apple用户已经添加到uboot-samsung版本库中。

2、Windows环境TortoiseSVN客户端的使用

A、签入项目源代码到SVN服务器中

在要签入的项目源代码目录点击右键

 版本库地址可以在SVN sever manager中得到

https://apple-PC/svn/kernel-samsung/

https://apple-PC/是SVN服务器的地址

svn为版本库的根目录

kernel-samsung是添加的版本库

B、迁出项目源代码到开发者本地

在本地创建从SVN服务器迁出的项目源代码的存放地

点击右键选择迁出的菜单项SVN Checkout

 checkout签出,和Export的功能一样,把版本库中的代码从服务器下载到本地,但是Checkout有验证的功能,Checkout到某处的代码,将会被TortoiseSVN监视,里面的文件可以享受各种SVN的服务。

向SVN服务器版本库提交修改、创建的文件

 如果更新了目录中的文件,提交代码需要用到commit功能,commit的功能不仅仅是上传,commit会和服务器上面的文件进行对比,假如更新了某个文件而服务器上面也有人更新了这个文件,并且是在你checkout之后做的更新,那么它会尝试将你的更新和他人的更新进行融合(merge),假如自动merge不成功,那么报告conflict,你必须自己来手动merge,也就是把你的更新和别人的更新无冲突的写在一起。

commit的时候,最好填写Log信息,这样保证别人可以看到你的更新究竟做了写什么。这就相当于上传文件并且说明自己做了那些修改,多人合作的时候log非常重要。

TortoiseSVN的commit只会上传原先checkout然后又被修改了的文件,假如你新加入了某些文件,需要右键点击文件选择Add,然后文件上面会出现一个加号, 在下次commit的时候它就会被upload并且被标记为绿色对勾。没有绿色对勾的文件不会被commit。

3、CentOS环境SVN服务器的配置

 创建一个uboot版本库

mkdir -p svn

svnadmin create /home/svn/uboot

为uboot版本库配置权限

 vim /home/svn/uboot/conf/svnserve.conf

anon-access=read         #匿名可读

auth-access=write        #验证用户可读写

password-db=passwd   #指向验证用户名密码的数据文件 passwd ,请看下文配置

auth-db=authz     #指向验证用户的权限配置文件 authz ,请看下文配置

passwd文件修改,添加apple用户和密码

vim /home/svn/uboot/conf/passwd
[users]

   # harry = harryssecret

   # sally = sallyssecret

   apple = apple123

配置authz用户权限配置文件 

[groups]

 harry_and_sally = harry,sally

 harry_sally_and_joe = harry,sally,&joe

 uboot = apple

 [\]

 @uboot = rw

 * =

启动版本库

svnserve -d -r /home/svn

开启多个版本库需要指定端口

svnserve -d --listen-port xxxx -r /path

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值