SVN

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

SVN中的一些概念

(1). repository(源代码库)

源代码统一存放的地方

(2). Checkout (提取)

下载代码,客户端通过checkout从服务器(Subversion)端下载源代码

(3). Commit (提交)

从服务器下载的代码,如果做了变更则需要提交到服务器端

(4). Update (更新)

本地已经checkout了一份代码,如果别人对代码做了更改并且已经提交,那么update可以更新别人更改后的代码,一般在提交代码前都需要更新一下代码,防止自己的代码覆盖了别人更改了的代码
       
SVN管理源代码是以行为单位的,如果两个程序员修改的不是同一行代码,SVN都会自动合并两种修改。如果是同一行,SVN会提示文件Confict, 冲突,如果发生冲突则需要手动的解决冲突,切不可直接提交。

windows常用的客户端软件:TortoiseSVN

SVN 服务器搭建(centeros linux)

  1. yum install -y subversion

或者

  1. yum -y install svn

验证是否安装成功

  1. svnserve --version

创建SVN 版本库

  1. mkdir svn
  2. svnadmin create svn/rep01

rep01为版本库的名称,rep01的结构如下

  1. $ ls svn/rep01/
  2. conf db format hooks locks README.txt

svn配置文件

  1. $ ls svn/rep01/conf/
  2. authz passwd svnserve.conf

(1)svnserve.conf:  svn服务配置文件下。
(2)passwd: 用户名口令文件。
(3)authz: 权限配置文件。

svnserve.conf 文件, 该文件配置项分为以下5项:
anon-access: 控制非鉴权用户访问版本库的权限。
auth-access:  控制鉴权用户访问版本库的权限。
password-db: 指定用户名口令文件名。取消注释使用默认文件,也就是conf同级的那个passwd文件,取消注释前面不能有任何空格,不然会报错
authz-db:指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。取消注释使用默认文件,也就是conf同级的那个authz文件,取消注释前面不能有任何空格,不然会报错
realm:指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件

当指定 password-db 和  authz-db 时连接svn才提示输入密码
       
passwd文件

  1. [users]
  2. # harry = harryssecret
  3. # sally = sallyssecret
  4.  
  5. username = password

#代表注释
authz文件

  1. [aliases] #在这个组下面定义别名
  2. # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
  3.  
  4. [groups] #定义组的概念,比如harry,sally是一组
  5. # harry_and_sally = harry,sally
  6. # harry_sally_and_joe = harry,sally,&joe
  7.  
  8. # [/foo/bar] #指定配置库
  9. # harry = rw # 用户harry有读写权限
  10. # &joe = r # &joe代表别名joe
  11. # * =
  12.  
  13. # [repository:/baz/fuz] #指定配置库 repository配置库名称 /baz/fuz配置库repository下的路径
  14. # @harry_and_sally = rw # @harry_and_sally代表组harry_and_sally
  15. # * = r # *通配符,代表所有人 $anonymous 匿名用户 $authenticated非匿名用户

启动和停止SVN服务

启动SVN服务:

  1. svnserve -d -r svn/rep01

-d表示后台运行
-r 指定配置库路径

命令行测试

  1. mkdir test
  2. cd test
  3. svn co svn://localhost/rep01

停止SVN服务:

  1. ps -aux | grep svn
  2. kill -9 进程杀掉

或者

  1. killall svnserve

注意如下配置

  1. [/]
  2. * = rw
  3.  
  4. [rep01:/]
  5. test = rw

则启动配置库的时候需要svnserve -d -r svn,不然会找不到配置库rep01

客户端连接SVN 服务器
地址:svn://ip/repository  如:svn://192.168.19.100/rep01

http访问svn

参考:http://www.cnblogs.com/ayanmw/archive/2011/12/19/2294054.html

安装apache相关组件

  1. yum -y install mod_dav_svn httpd

在/etc/httpd/conf.d/目录下会存在文件subversion.conf,其配置内容如下

  1. LoadModule dav_svn_module modules/mod_dav_svn.so
  2. LoadModule authz_svn_module modules/mod_authz_svn.so
  3.  
  4. #
  5. # Example configuration to enable HTTP access for a directory
  6. # containing Subversion repositories, "/var/www/svn". Each repository
  7. # must be both:
  8. #
  9. # a) readable and writable by the 'apache' user, and
  10. #
  11. # b) labelled with the 'httpd_sys_content_t' context if using
  12. # SELinux
  13. #
  14.  
  15. #
  16. # To create a new repository "http://localhost/repos/stuff" using
  17. # this configuration, run as root:
  18. #
  19. # # cd /var/www/svn
  20. # # svnadmin create stuff
  21. # # chown -R apache.apache stuff
  22. # # chcon -R -t httpd_sys_content_t stuff
  23. #
  24.  
  25. #<Location /repos>
  26. # DAV svn
  27. # SVNParentPath /var/www/svn
  28. #
  29. # # Limit write permission to list of valid users.
  30. # <LimitExcept GET PROPFIND OPTIONS REPORT>
  31. # # Require SSL connection for password protection.
  32. # # SSLRequireSSL
  33. #
  34. # AuthType Basic
  35. # AuthName "Authorization Realm"
  36. # AuthUserFile /path/to/passwdfile
  37. # Require valid-user
  38. # </LimitExcept>
  39. #</Location> 

<Location /repos>:/repos为虚拟目录,对应SVNParentPath指定的实际目录

AuthUserFile:指定用户名密码文件,该文件使用htpasswd命令创建

SVNParentPath:指定了SVN配置库的父目录

AuthUserFile 用户添加

htpasswd -h查看命令帮助
第一次添加用户

  1. htpasswd -c passwd test

passwd:文件的名称
test:用户名
再次添加用户

  1. htpasswd passwd test

启动apache服务

  1. sudo service httpd restart

注意修改配置库目录的权限,不然会一直报权限问题的

  1. chown -R apache:apache rep01
  2. chcon -R -t httpd_sys_content_t rep01

此刻就可以使用http://localhost/repos/stuff   repos为映射的虚拟路径,stuff为配置库

linux(centeros)svn的安装的更多相关文章

  1. linux下svn的安装与配置

    ---恢复内容开始--- linux下svn的安装与配置 Linux发行版本:CentOS6.5 1.安装subversion sudo yum -y install subversion 2.创建s ...

  2. 【Linux】SVN的安装和配置

    SVN SVN:SVN是Subversion的简称,是一种开放代码的版本控制系统,相比较RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制器服务已从CVS迁移到Su ...

  3. Linux下svn的安装与部署

    最近工作碰到一个问题,我和一个同伙负责开发一个管理系统,基于原来的代码上进行修改,每当他修改之后,我要再修改都要和他确定是不是最新的文件,才能进行修改.非常影响工作的效率,所以在网上找了关于svn的使 ...

  4. (转)Linux下 SVN客户端安装

    原地址:http://rtxbc.iteye.com/blog/860092 今天有现场程序连svn服务器一直有异常,于是在现场linux下安装svn client来直接测试,看问题原因: 一:安装s ...

  5. linux下svn客户端安装及环境配置(转)

    一.    源文件编译安装.源文件共两个,为: 1.   下载subversion源文件 subversion-1.6.1.tar.gz http://d136.d.iask.com/fs/800/1 ...

  6. Linux下SVN客户端安装及使用

    转载自:http://www.linuxidc.com/Linux/2015-01/111748.htm 不想自己写了,这个写的挺全的,我就按这个步骤走的,呵呵 非常感谢作者 环境说明: 系统版本:C ...

  7. Linux 下 SVN 的安装和配置

    SVN 是一个自由开源的版本管理系统,它可以按照时间的顺序去管理文件.目录以及对其进行的修改.于今,它被广泛的用于互联网公司的项目版本管理中 工作原理 它的工作原理如下图所示 它是由一个SVN服务器和 ...

  8. LINUX+Vmware+SVN的配置和安装

    LINUX+Vmware+SVN的配置和安装 验证SVN安装了没有 svnserve --version 查看CentOS自带JDK是否已安装. ◆输入:yum list installed |gre ...

  9. Linux下SVN安装与基本操作

    1.安装svn linux下通过yum安装svn yum -y install subversion 本地Windows系统安装TortoiseSVN 2.配置 建立版本库目录 mkdir /home ...

随机推荐

  1. noip模拟题 Market

    题面描述: 数据范围: Solution: 我们发现\(v\)很小,但是\(M\)很大,考虑转化一下一般的背包 我们用\(f[v]\)来表示拿到价值为\(v\)的物品需要付出的最少代价,特别的,当\( ...

  2. python安装报错error writing to file:......

    今天换了win10 64电脑,安装python3.6.8时,报错:error writing to file:...... 安装时,右键--以管理员身份运行,安装成功.

  3. sh_01_重复执行

    sh_01_重复执行 # 打印 500 遍 Hello Python(复制粘贴的方法,手动复制500次) print("Hello Python") print("Hel ...

  4. CentOS 7 安装wps2019

    1. download https://www.wps.cn/product/wpslinux 2. rpm 安装缺少lib包,于是yum 安装 .x86_64.rpm 3.安装完成,运行的时候又报错 ...

  5. Mybaits成长之路

    今天刚开始接触mybaits,接下来介绍mybaits的demo的建立 1根据数据库表定义一个实体类Employee package com.atguigu.mybatis.bean; public ...

  6. windows的 附件到底是什么东东?

    附件, 包括其父目录"所有程序" -> "开始菜单", 其实都是一个目录而已!! 要对"开始菜单"下的所有内容进行 自定义 : 添加删 ...

  7. spring hibernate 事务整合 使用测试类 事务不自动提交的问题!!!

    使用JUnit 测试hibernate 事务管理的时候应注意 ,测试类完成是默认回滚的. 所以只能查询数据库却不能增删改数据库. 应该在测试类上面加上注解 @Rollback(false)  表似默认 ...

  8. Monkey测试:Monkey的简单使用

    Monkey是Android SDK提供的一个命令行工具,可以简单方便的发送伪随机的用户事件流,对Android APP做压力(稳定性)测试.主要是为了测试app是否存在无响应和崩溃的情况. 一.环境 ...

  9. HTML5——web存储 Web SQL 数据库 应用程序缓存 Web Workers 服务器发送事件 WebSocket

    web存储 比cookie更好的本地存储方式 localStorage - 用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去除. sessionStorage - 用于临时保存同一窗口( ...

  10. 20191127 Spring Boot官方文档学习(4.25)

    4.25. Testing Spring Boot提供了许多实用程序和注解,可以在测试应用程序时提供帮助.测试支持由两个模块提供:spring-boot-test包含核心项,spring-boot-t ...