今天尝试搭建了一个SVN服务器玩玩,网上东拼西凑找了些资料。

参考链接http://blog.csdn.net/tianlesoftware/article/details/6119231

SVN 简介

      Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库(repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。

SVN中的一些概念 :

(1). repository(源代码库)

       源代码统一存放的地方

(2). Checkout (提取)

       当你手上没有源代码的时候,你需要从repository checkout一份

(3). Commit (提交)

       当你已经修改了代码,你就需要Commit到repository

(4). Update (更新)

       当你已经Checkout了一份源代码, Update一下你就可以和Repository上的源代码同步,你手上的代码就会有最新的变更 

   日常开发过程其实就是这样的(假设你已经Checkout并且已经工作了几天):Update(获得最新的代码) -->作出自己的修改并调试成功 --> Commit(大家就可以看到你的修改了) 。

       如果两个程序员同时修改了同一个文件呢,  SVN可以合并这两个程序员的改动,实际上SVN管理源代码是以行为单位的,就是说两个程序员只要不是修改了同一行程序,SVN都会自动合并两种修改。如果是同一行,SVN会提示文件Confict, 冲突,需要手动确认。

客户端软件:

       (1)Windows下常用的客户端软件常用TortoiseSVN。它是一个免费的开源的客户端。

       (2)向Myeclipse,也有一些SVN的插件。

SVN 服务器搭建

使用yum 安装SVN包:

[root@singledb ~]# yum install -y subversion

验证安装版本:

[root@singledb ~]# svnserve --version

三. 创建SVN 版本库

[root@singledb ~]# mkdir /u02/svn

[root@singledb ~]# svnadmin create /u02/svn/davesvn  --davesvn为版本库名称

SVN 配置

创建版本库后,在这个目录下会生成3个配置文件:

[root@singledb conf]# pwd

/u02/svn/davesvn/conf

[root@singledb conf]# ls

authz  passwd  svnserve.conf

 

(1)svnserve.conf:svn服务配置文件。

(2)passwd:用户名口令文件。

(3)authz:权限配置文件。 

 

svnserve.conf 文件

该文件配置项分为以下5项:

       anon-access: 匿名用户访问版本库的权限。

       auth-access:  非匿名用户访问版本库的权限。

       password-db: 指定用户名口令文件名。

       authz-db:指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。

       realm:指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件

Passwd 文件 :

       我们在svnserve.conf文件里启用这个文件。然后配置如下:

[root@singledb conf]# cat passwd

### This file is an example password file for svnserve.

### Its format is similar to that of svnserve.conf. As shown in the

### example below it contains one section labelled [users].

### The name and password for each user follow, one account per line.

 

[users]

# harry = harryssecret

# sally = sallyssecret

dave = davepwd

tianlesoftware = tianlesoftwarepwd

配置我们的authz文件:

[root@singledb conf]# cat authz

[groups]

admin = dave

dev=tianlesoftware

[davesvn:/]

@admin = rw

@dev = rw

启动和停止SVN服务

(1)启动SVN服务:

[root@singledb conf]# svnserve -d -r /u02/svn

       -d表示后台运行

       -r 指定根目录是 /u02/svn

[root@singledb conf]# ps -ef | grep svn

root      4592     1  0 18:04 ?        00:00:00 svnserve -d -r /u02/svn

root      4594  3709  0 18:04 pts/1    00:00:00 grep svn

(2)停止SVN服务:

ps -aux |grep svn

kill -9 进程杀掉

转载于:https://www.cnblogs.com/nickqian/p/4047389.html

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐