一、Subversion介绍

  1. Subversion是一个集中式的信息共享系统。版本库是Subversion的核心部分,是数据的中央仓库。版本库以典型的文件和目录结构形式文件系统树来保存信息。任意数量的客户端连接到Subversion 版本库,读取、修改这些文件。客户端通过写数据将信息分享给其他人,通过读取数据获取别人共享的信息。

二、环境

  1. [root@localhost ~]# cat /etc/redhat-release
  2. CentOS release 6.6 (Final)
  3. [root@localhost ~]# uname -a
  4. Linux localhost 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
  5. [root@localhost ~]# ifconfig
  6. eth0 Link encap:Ethernet HWaddr 00:0C:29:0C:BA:2E
  7. inet addr:192.168.1.107 Bcast:192.168.1.255 Mask:255.255.255.0
  8. inet6 addr: fe80::20c:29ff:fe0c:ba2e/64 Scope:Link
  9. UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  10. RX packets:12430 errors:0 dropped:0 overruns:0 frame:0
  11. TX packets:7334 errors:0 dropped:0 overruns:0 carrier:0
  12. collisions:0 txqueuelen:1000
  13. RX bytes:13341760 (12.7 MiB) TX bytes:598263 (584.2 KiB)
  14. lo Link encap:Local Loopback
  15. inet addr:127.0.0.1 Mask:255.0.0.0
  16. inet6 addr: ::1/128 Scope:Host
  17. UP LOOPBACK RUNNING MTU:65536 Metric:1
  18. RX packets:0 errors:0 dropped:0 overruns:0 frame:0
  19. TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
  20. collisions:0 txqueuelen:0
  21. RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

三、安装subversion

  1. [root@localhost ~]# yum -y install subversion

四、验证是否安装

  1. [root@localhost ~]# svnserve --version
显示内容:

五、创建版本库

  1. [root@localhost ~]# mkdir /data/svn # 在/data目录下创建一个svn目录,便于管理
  2. [root@localhost ~]# svnadmin create /data/svn/repo0 # 我将svn作为所有版本库的目录,并创建了一个名为repo0的版本库
  3. [root@localhost ~]# cd /data/svn/repo0/
  4. [root@localhost repo0]# ls
  5. conf db format hooks locks README.txt
  6. [root@localhost repo0]# pwd
  7. /data/svn/repo0
  8. [root@localhost repo0]# cd conf/
  9. [root@localhost conf]# ls
  10. authz passwd svnserve.conf
  11. 说明:
  12. 1) svnserve.conf: svn服务综合配置文件。
  13. 2) passwd: 用户名口令文件。
  14. 3) authz: 权限配置文件。

六、设置版本库的账号密码

编辑用户口令文件添加svn账号和密码

  1. [root@localhost conf]# cat passwd
  2. ### This file is an example password file for svnserve.
  3. ### Its format is similar to that of svnserve.conf. As shown in the
  4. ### example below it contains one section labelled [users].
  5. ### The name and password for each user follow, one account per line.
  6. [users]
  7. # harry = harryssecret
  8. # sally = sallyssecret
  9. zhangcong = zhang_cong123 # 添加账号密码,左边账号,右边密码,等号两边有无空格无所谓

七、设置svn用户权限

  1. [root@localhost conf]# cat authz
  2. ### This file is an example authorization file for svnserve.
  3. ### Its format is identical to that of mod_authz_svn authorization
  4. ### files.
  5. ### As shown below each section defines authorizations for the path and
  6. ### (optional) repository specified by the section name.
  7. ### The authorizations follow. An authorization line can refer to:
  8. ### - a single user,
  9. ### - a group of users defined in a special [groups] section,
  10. ### - an alias defined in a special [aliases] section,
  11. ### - all authenticated users, using the '$authenticated' token,
  12. ### - only anonymous users, using the '$anonymous' token,
  13. ### - anyone, using the '*' wildcard.
  14. ###
  15. ### A match can be inverted by prefixing the rule with '~'. Rules can
  16. ### grant read ('r') access, read-write ('rw') access, or no access
  17. ### ('').
  18. [aliases] # 用来设置别名,别名后面的内容没搞懂是啥东西
  19. # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
  20. [groups] # 设置组和组成员,svn账户较多的时候能派上用场
  21. # harry_and_sally = harry,sally
  22. # harry_sally_and_joe = harry,sally,&joe
  23. # [/foo/bar] # 这个是目录,定义下面的用户、别名、组对这个目录有啥权限
  24. # harry = rw
  25. # &joe = r
  26. # * =
  27. # [repository:/baz/fuz]
  28. # @harry_and_sally = rw
  29. # * = r
  30. [repo0:/] # 定义一个目录,为repo0版本库下面的根目录
  31. zhangcong = rw # zhangcong用户对该目录有读写权限

八、修改svnserve.conf

  1. [root@localhost conf]# cat svnserve.conf | grep -v ^# | grep -v ^$
  2. [general]
  3. anon-access = read # 控制没有登录的用户不能访问
  4. auth-access = write # 登录的用户可以写入
  5. password-db = passwd # 密码文件为当前目录下的passwd
  6. authz-db = authz # 验证文件为当前目录下的authz
  7. [sasl]

九、启动和关闭svn服务端

1)启动svn服务端

  1. [root@localhost conf]# svnserve -d -r /data/svn/

2)检查svn服务端是否启动

  1. [root@localhost conf]# netstat -anpt | grep svn
  2. tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 2187/svnserve

3)关闭svn服务端

  1. ①找到svn服务端的进程号
  2. [root@localhost conf]# ps aux | grep svn
  3. root 2187 0.0 0.0 157000 776 ? Ss 01:13 0:00 svnserve -d -r /data/svn/
  4. ②杀掉该进程
  5. [root@localhost conf]# kill 2187

十、导入工程(将新的目录导入到版本库中 – 服务端)

1)创建需要导入的目录文件

  1. [root@localhost conf]# cd /data/
  2. [root@localhost data]# mkdir MyProject
  3. [root@localhost data]# mkdir MyProject/trunk
  4. [root@localhost data]# mkdir MyProject/branches
  5. [root@localhost data]# mkdir MyProject/tags
  6. [root@localhost MyProject]# touch test.txt
  7. [root@localhost MyProject]# ll
  8. 总用量 12
  9. drwxr-xr-x 2 root root 4096 3月 26 01:19 branches
  10. drwxr-xr-x 2 root root 4096 3月 26 01:19 tags
  11. -rw-r--r-- 1 root root 0 3月 26 01:20 test.txt
  12. drwxr-xr-x 2 root root 4096 3月 26 01:18 trunk
  13. [root@localhost MyProject]# pwd
  14. /data/MyProject

2)将创建好的目录导入到svn版本库中

  1. [root@localhost MyProject]# svn import /data/MyProject/ svn://192.168.1.107/repo0/MyProject -m 'first import project'
  2. 认证领域: <svn://192.168.1.107:3690> 974ca905-8b23-4d8a-bc99-a7e4f409eba7
  3. “root”的密码: # 这个地方直接回车就好
  4. 认证领域: <svn://192.168.1.107:3690> 974ca905-8b23-4d8a-bc99-a7e4f409eba7
  5. 用户名: zhangcong # 输入svn服务端定义的svn账号密码
  6. “zhangcong”的密码:
  7. -----------------------------------------------------------------------
  8. 注意! 你的密码,对于认证域:
  9. <svn://192.168.1.107:3690> 974ca905-8b23-4d8a-bc99-a7e4f409eba7
  10. 只能明文保存在磁盘上! 如果可能的话,请考虑配置你的系统,让 Subversion
  11. 可以保存加密后的密码。请参阅文档以获得详细信息。
  12. 你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,
  13. 来避免再次出现此警告。
  14. -----------------------------------------------------------------------
  15. 保存未加密的密码(yes/no)?yes
  16. -----------------------------------------------------------------------
  17. 注意! 你的密码,对于认证域:
  18. <svn://192.168.1.107:3690> 974ca905-8b23-4d8a-bc99-a7e4f409eba7
  19. 只能明文保存在磁盘上! 如果可能的话,请考虑配置你的系统,让 Subversion
  20. 可以保存加密后的密码。请参阅文档以获得详细信息。
  21. 你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,
  22. 来避免再次出现此警告。
  23. -----------------------------------------------------------------------
  24. 保存未加密的密码(yes/no)?yes
  25. 增加 /data/MyProject/trunk
  26. 增加 /data/MyProject/branches
  27. 增加 /data/MyProject/test.txt
  28. 增加 /data/MyProject/tags
  29. 提交后的版本为 1。

十一、导出工程(将svn服务端的版本库导出到当前目录下 – 客户端)

  1. [root@localhost ~]# yum -y install subversion # 安装svn
  2. [root@localhost ~]# mkdir /data # 创建svn数据存储目录
  3. [root@localhost ~]# cd /data/
  4. [root@localhost data]# svn co svn://192.168.1.107/repo0/MyProject # 将svn服务器端版本库中的数据下载至当前目录下
  5. 认证领域: <svn://192.168.1.107:3690> 974ca905-8b23-4d8a-bc99-a7e4f409eba7
  6. “root”的密码: # 这里回车就好
  7. 认证领域: <svn://192.168.1.107:3690> 974ca905-8b23-4d8a-bc99-a7e4f409eba7
  8. 用户名: zhangcong # 输入svn服务器存储的账号密码
  9. “zhangcong”的密码:
  10. -----------------------------------------------------------------------
  11. 注意! 你的密码,对于认证域:
  12. <svn://192.168.1.107:3690> 974ca905-8b23-4d8a-bc99-a7e4f409eba7
  13. 只能明文保存在磁盘上! 如果可能的话,请考虑配置你的系统,让 Subversion
  14. 可以保存加密后的密码。请参阅文档以获得详细信息。
  15. 你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,
  16. 来避免再次出现此警告。
  17. -----------------------------------------------------------------------
  18. 保存未加密的密码(yes/no)?yes
  19. A MyProject/trunk
  20. A MyProject/branches
  21. A MyProject/test.txt
  22. A MyProject/tags
  23. 取出版本 1。
  24. # 查看从服务器端版本库中down下来的数据
  25. [root@localhost data]# ls
  26. MyProject
  27. [root@localhost data]# ll MyProject/
  28. 总用量 12
  29. drwxr-xr-x 3 root root 4096 3月 26 02:07 branches
  30. drwxr-xr-x 3 root root 4096 3月 26 02:07 tags
  31. -rw-r--r-- 1 root root 0 3月 26 02:07 test.txt
  32. drwxr-xr-x 3 root root 4096 3月 26 02:07 trunk

参考:

http://www.centoscn.com/CentosServer/ftp/2014/0306/2505.html

Subversion安装的更多相关文章

  1. 【转】Windows平台下的Subversion安装配置新手指南

    原文地址:http://developer.51cto.com/art/201005/199628.htm 本文介绍Subversion安装配置快速指南,首先讲Subversion的安装和配置,Uni ...

  2. subversion安装使用

    这里仅针对subversion进行说明,未完待续. 一.下载subversion并安装: a.subversion 要做svn服务器的必须装 b.Tortoisesvn 仅仅是访问svn服务器的客户端 ...

  3. apache svn subversion安装和配置(使用源码安装包方式)

    环境:虚拟机下centos7 1.下载安装包:http://subversion.apache.org/download.cgi 2.上传到指定文件夹并解压 3.安装依赖包 apr apr-utils ...

  4. Subversion安装和使用

    Subversion(SVN)是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说.SVN分为客户端和服务器端,一般服务器端安装在服务器上,我们开发者用的都是客户端.TortoiseSVN是 ...

  5. linux下subversion server安装手册

    linux下subversion server安装手册 安装基于的Linux版本为:Red Hat Enterprise Linux Server release 6.3. 一 准备需要的安装包. ( ...

  6. Windows下安装配置SubVersion的简明步骤

    [使用的安装程序和文档说明] svn-1.4.0-setup.exe:Subversion服务端1.4.0安装程序: SubService.rar:  SubServe服务Windows辅助工具; T ...

  7. Windows下Subversion和Apache的安装及配置(一)

    1.序 Subversion可谓版本控制软件中的佼佼者,其开源性,易用性已受到众多软件开发者首选的版本控制软件.在这里我想记录我安装Subversion和Apache的过程.注意,Subversion ...

  8. CentOS6.3下安装配置SVN(Subversion)

    #检查是否安装了低版本的SVN [root@localhost ~]# rpm -qa subversion subversion--.el6.x86_64 #卸载旧版本SVN [root@local ...

  9. [转载]CentOS 6.3安装Subversion服务器

    转载自http://www.cnblogs.com/zhoulf/archive/2013/02/02/2889949.html 安装说明 系统环境:CentOS-6.3 安装方式:yum insta ...

随机推荐

  1. HDU 2845 Beans (DP)

    Problem Description Bean-eating is an interesting game, everyone owns an M*N matrix, which is filled ...

  2. 无语的index hint:手工分配哈希区,5小时不出结果,优化后20分钟

    同事说,有个语句5个小时不出结果,叫我帮忙看看,于是叫同事发过来.不看不知道,一看吓一跳,3个表关联,强制使用了2个index hint,当中一个表9g,一个表67g,另一个小表40Mb.开发者,总以 ...

  3. mount USB Device(U disk) on crux based on vmware

    1. 在 /mnt 下建立一个名叫USB的文件夹,文件夹名自定 cd /mnt mkdir USB 2. 查看一下磁盘分区情况 fdisk –l 3. 插入U盘 4. 再次查看磁盘分区情况,对比第一次 ...

  4. FileUpload

    一upload原理: 1.表单的method必须是post方法 2.enctype属性必须是“mutipatr/form-data”类型 enctype默认的属性是“application/x-www ...

  5. $.fn、$.fn.extend和$.extend的区别

    $.fn $.fn是指jquery的命名空间,加在fn上的方法及属性,会对jquery实例每一个有效. 如:扩展$.fn.abc(),即$.fn.abc()是对jquery扩展了一个abc方法,那么后 ...

  6. 利用MiddleGen-hibernate-r5生成hbm文件及POJO文件

    1       先决条件 1.1    已安装JDK(版本1.5以上)并配置环境变量 到http://java.sun.com上下载JDK,配置环境变量(我的电脑右键->属性->高级-&g ...

  7. FFT与多项式、生成函数题目泛做

    题目1 COGS 很强的乘法问题 高精度乘法用FFT加速 #include <cstdlib> #include <iostream> #include <algorit ...

  8. c++11 auto

    auto 关键字指示编译器使用已声明变量的初始化表达式或 lambda 表达式参数来推导其类型. 在大多情况下,建议您使用 auto 关键字(除非您确实需要转换),因为此关键字可提供以下好处: 可靠性 ...

  9. log4j配置文件及nutch中的日志配置

    使用slf4j作为日志系统时,由于slf4j只是一个接口,它需要一个具体实现来执行. 具体参考http://blog.csdn.net/jediael_lu/article/details/43854 ...

  10. attachEvent和addEventListener

    attachEvent和addEventListener在前端开发过程中经常性的使用,他们都可以用来绑定脚本事件,取代在html中写obj.onclick=method. 相同点: 它们都是dom对象 ...