大纲 一、subversion概述 二、subversion系统逻辑架构图 三、svn的安装配置 #svn的安装 ##svn的启动 ###测试svn服务 ####一下没有看懂什么用? #####关于subversion组件 四、客户端安装与测试 --------------------- 一、subversion概述 Subversion(SVN)是一个开源的,跨平台的版本控制系统,由CollabNet公司成立于2000年; Subversion作为新一代的版本管理系统,以其目录版本化、原子提交、版本化的元数据、更加有效的分支和标签等特性,至今已被众多的互联网企业使用来管理 网站、论坛的代码文件;Subversion最独特的地方,便是可以通过Apache的扩展模块与Apache的HTTP服务相结合,实现更安全的特性与管理,其次用户还可以通过 HTTP协议去访问版本库,还可以通过SSL协议传输加密,保证数据的安全性;Subversion是Apache软件基金会的发展的一个项目,并且也是一个丰富的开发人员和用 户社区的一部分。 Subversion存储版本数据方式2种:BDB(一种事务安全型表类型)和FSFS(一种不需要数据库的存储系统)。因为BDB方式在服务器中断时,有可能锁住数据, 所以还是FSFS方式更安全一点;那么在创建Subversion版本控制仓库的时候,可以指定存储版本数据为FSFS方式; 二、subversion系统逻辑架构图 略 三、svn的安装配置 svn安装参考 http://blog.csdn.net/sxhong/article/details/9176881 svn命令参考 http://blog.csdn.net/gexiaobaohelloworld/article/details/7752862 #安装svn 1、安装subversion [root@svn ~]# yum -y install subversion 2、查看svn版本 [root@svn ~]# svnserve --version svnserve,版本 1.6.11 (r934486) 编译于 Mar 6 2014,10:49:10 版权所有 (C) 2000-2009 CollabNet。 Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。 此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。 下列版本库后端(FS) 模块可用: * fs_base : 模块只能操作BDB版本库。 * fs_fs : 模块与文本文件(FSFS)版本库一起工作。 Cyrus SASL 认证可用。 备注: 当前Subversion版本为1、6,默认版本数据存储方式为FSFS; 从显示的结果上,我们还可以知道Subversion支持基于http,https协议访问版本库,支持本地、远程导入项目与SASL的验证方式; 3、创建svn版本库 [root@svn ~]# mkdir /svn [root@svn ~]# svnadmin create /svn [root@svn ~]# ls /svn/ conf db format hooks locks README.txt 4、修改svn用户认证文件【先设置passwd】 [root@svn ~]# vim /svn/conf/passwd [users] # harry = harryssecret # sally = sallyssecret Allentuns = 13260071987 ### #账号:Allentuns #密码:13260071987 #用户名=密码 ### 5、修改svn用户权限控制文件【在设置权限authz】 [root@svn ~]# vim /svn/conf/authz #添加用户对根的权限;Allentuns用户对所有目录有读写权限 [/] Allentuns = wr 6、修改svn服务器配置文件【最后设定svnserv.conf】 [root@svn ~]# vim /svn/conf/svnserve.conf anon-access = none # 使非授权用户无法访问 #指定匿名用户是否有权限访问版本库,无(none); auth-access = write # 使授权用户有写权限 #指定验证用户是否有权限访问版本库,写(write); password-db = password #指定用户的验证文件 authz-db = authz # 访问控制文件 realm = My First Repository # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。 采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错. ##启动svn服务 1、编辑服务进程文件,添加一行如下: #!/bin/bash OPTIONS=" -r /svn" 2、启动svnserve服务 [root@svn ~]# service svnserve start 正在启动 svnserve: 3、查看端口 [root@svn ~]# netstat -tnlp |grep svn tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 1330/svnserve [确定] 4、设置svn开机启动 [root@svn ~]# chkconfig svnserve on --------------------- 补充:启动svn的方法: 1、启动的时候也可以不适用服务的方式启动;如 [root@svn ~]# svnserve -d -r /svn/ [root@svn ~]# netstat -tnlp |grep svn tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 1375/svnserve 2、如果已经有svn在运行,可以换一个端口运行 [root@svn ~]# svnserve -d -r /svn/ --listen-port 3391 [root@svn ~]# netstat -tnlp |grep svn tcp 0 0 0.0.0.0:3391 0.0.0.0:* LISTEN 1379/svnserve tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 1375/svnserve -------------------- ###测试svn [root@svn ~]# svn co svn://127.0.0.1 svntest --username Alletuns --password 13260071987 认证领域: <svn://127.0.0.1:3690> My First Repository 用户名: Allentuns “Allentuns”的密码: ----------------------------------------------------------------------- 注意! 你的密码,对于认证域: <svn://127.0.0.1:3690> My First Repository 只能明文保存在磁盘上! 如果可能的话,请考虑配置你的系统,让 Subversion 可以保存加密后的密码。请参阅文档以获得详细信息。 你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”, 来避免再次出现此警告。 ----------------------------------------------------------------------- 保存未加密的密码(yes/no)?yes 取出版本 0。 ####一下没有看懂什么用? [root@svn ~]# touch svntest/test [root@svn ~]# svn update svntest/ 版本 0。 [root@svn ~]# svn add svntest/test A svntest/test [root@svn ~]# svn ci -m "test" svntest/test 增加 svntest/test 传输文件数据. 提交后的版本为 1。 以上笔记记录来自: http://jedy82.blog.51cto.com/425872/1395834 http://blog.csdn.net/sxhong/article/details/9176881 #####关于subversion的8个组件 svn :命令行客户端程序; svnversion :显示工作拷贝的状态,即当前项目修订的版本; svnlook :服务器端直接查看Svbversion版本库的工具; svnadmin :服务器端建立、调整和修复Subversion版本库的工具; svndumpfilter :过滤Subversion版本库转存数据流的工具; mod_dav_svn :Apache HTTP服务器的一个模块,使版本库可以通过网络访问; svnserve :服务器端程序,用来启动SVN服务的守护进程; svnsync :可以通过网络增量镜像版本库的程序;
本文出自 “郑彦生” 博客,请务必保留此出处http://467754239.blog.51cto.com/4878013/1440566
原文地址:http://467754239.blog.51cto.com/4878013/1440566