一、Subversion介绍
Subversion是一个集中式的信息共享系统。版本库是Subversion的核心部分,是数据的*仓库。版本库以典型的文件和目录结构形式文件系统树来保存信息。任意数量的客户端连接到Subversion 版本库,读取、修改这些文件。客户端通过写数据将信息分享给其他人,通过读取数据获取别人共享的信息。
二、环境
[root@localhost ~]# cat /etc/redhat-release
CentOS release 6.6 (Final)
[root@localhost ~]# uname -a
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
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:0C:BA:2E
inet addr:192.168.1.107 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe0c:ba2e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:12430 errors:0 dropped:0 overruns:0 frame:0
TX packets:7334 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:13341760 (12.7 MiB) TX bytes:598263 (584.2 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
三、安装subversion
[root@localhost ~]# yum -y install subversion
四、验证是否安装
[root@localhost ~]# svnserve --version
显示内容:
五、创建版本库
[root@localhost ~]# mkdir /data/svn # 在/data目录下创建一个svn目录,便于管理
[root@localhost ~]# svnadmin create /data/svn/repo0 # 我将svn作为所有版本库的目录,并创建了一个名为repo0的版本库
[root@localhost ~]# cd /data/svn/repo0/
[root@localhost repo0]# ls
conf db format hooks locks README.txt
[root@localhost repo0]# pwd
/data/svn/repo0
[root@localhost repo0]# cd conf/
[root@localhost conf]# ls
authz passwd svnserve.conf
说明:
1) svnserve.conf: svn服务综合配置文件。
2) passwd: 用户名口令文件。
3) authz: 权限配置文件。
六、设置版本库的账号密码
编辑用户口令文件添加svn账号和密码
[root@localhost 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
zhangcong = zhang_cong123 # 添加账号密码,左边账号,右边密码,等号两边有无空格无所谓
七、设置svn用户权限
[root@localhost conf]# cat authz
### This file is an example authorization file for svnserve.
### Its format is identical to that of mod_authz_svn authorization
### files.
### As shown below each section defines authorizations for the path and
### (optional) repository specified by the section name.
### The authorizations follow. An authorization line can refer to:
### - a single user,
### - a group of users defined in a special [groups] section,
### - an alias defined in a special [aliases] section,
### - all authenticated users, using the '$authenticated' token,
### - only anonymous users, using the '$anonymous' token,
### - anyone, using the '*' wildcard.
###
### A match can be inverted by prefixing the rule with '~'. Rules can
### grant read ('r') access, read-write ('rw') access, or no access
### ('').
[aliases] # 用来设置别名,别名后面的内容没搞懂是啥东西
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
[groups] # 设置组和组成员,svn账户较多的时候能派上用场
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
# [/foo/bar] # 这个是目录,定义下面的用户、别名、组对这个目录有啥权限
# harry = rw
# &joe = r
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
[repo0:/] # 定义一个目录,为repo0版本库下面的根目录
zhangcong = rw # zhangcong用户对该目录有读写权限
八、修改svnserve.conf
[root@localhost conf]# cat svnserve.conf | grep -v ^# | grep -v ^$
[general]
anon-access = read # 控制没有登录的用户不能访问
auth-access = write # 登录的用户可以写入
password-db = passwd # 密码文件为当前目录下的passwd
authz-db = authz # 验证文件为当前目录下的authz
[sasl]
九、启动和关闭svn服务端
1)启动svn服务端
[root@localhost conf]# svnserve -d -r /data/svn/
2)检查svn服务端是否启动
[root@localhost conf]# netstat -anpt | grep svn
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 2187/svnserve
3)关闭svn服务端
①找到svn服务端的进程号
[root@localhost conf]# ps aux | grep svn
root 2187 0.0 0.0 157000 776 ? Ss 01:13 0:00 svnserve -d -r /data/svn/
②杀掉该进程
[root@localhost conf]# kill 2187
十、导入工程(将新的目录导入到版本库中 – 服务端)
1)创建需要导入的目录文件
[root@localhost conf]# cd /data/
[root@localhost data]# mkdir MyProject
[root@localhost data]# mkdir MyProject/trunk
[root@localhost data]# mkdir MyProject/branches
[root@localhost data]# mkdir MyProject/tags
[root@localhost MyProject]# touch test.txt
[root@localhost MyProject]# ll
总用量 12
drwxr-xr-x 2 root root 4096 3月 26 01:19 branches
drwxr-xr-x 2 root root 4096 3月 26 01:19 tags
-rw-r--r-- 1 root root 0 3月 26 01:20 test.txt
drwxr-xr-x 2 root root 4096 3月 26 01:18 trunk
[root@localhost MyProject]# pwd
/data/MyProject
2)将创建好的目录导入到svn版本库中
[root@localhost MyProject]# svn import /data/MyProject/ svn://192.168.1.107/repo0/MyProject -m 'first import project'
认证领域: <svn://192.168.1.107:3690> 974ca905-8b23-4d8a-bc99-a7e4f409eba7
“root”的密码: # 这个地方直接回车就好
认证领域: <svn://192.168.1.107:3690> 974ca905-8b23-4d8a-bc99-a7e4f409eba7
用户名: zhangcong # 输入svn服务端定义的svn账号密码
“zhangcong”的密码:
-----------------------------------------------------------------------
注意! 你的密码,对于认证域:
<svn://192.168.1.107:3690> 974ca905-8b23-4d8a-bc99-a7e4f409eba7
只能明文保存在磁盘上! 如果可能的话,请考虑配置你的系统,让 Subversion
可以保存加密后的密码。请参阅文档以获得详细信息。
你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,
来避免再次出现此警告。
-----------------------------------------------------------------------
保存未加密的密码(yes/no)?yes
-----------------------------------------------------------------------
注意! 你的密码,对于认证域:
<svn://192.168.1.107:3690> 974ca905-8b23-4d8a-bc99-a7e4f409eba7
只能明文保存在磁盘上! 如果可能的话,请考虑配置你的系统,让 Subversion
可以保存加密后的密码。请参阅文档以获得详细信息。
你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,
来避免再次出现此警告。
-----------------------------------------------------------------------
保存未加密的密码(yes/no)?yes
增加 /data/MyProject/trunk
增加 /data/MyProject/branches
增加 /data/MyProject/test.txt
增加 /data/MyProject/tags
提交后的版本为 1。
十一、导出工程(将svn服务端的版本库导出到当前目录下 – 客户端)
[root@localhost ~]# yum -y install subversion # 安装svn
[root@localhost ~]# mkdir /data # 创建svn数据存储目录
[root@localhost ~]# cd /data/
[root@localhost data]# svn co svn://192.168.1.107/repo0/MyProject # 将svn服务器端版本库中的数据下载至当前目录下
认证领域: <svn://192.168.1.107:3690> 974ca905-8b23-4d8a-bc99-a7e4f409eba7
“root”的密码: # 这里回车就好
认证领域: <svn://192.168.1.107:3690> 974ca905-8b23-4d8a-bc99-a7e4f409eba7
用户名: zhangcong # 输入svn服务器存储的账号密码
“zhangcong”的密码:
-----------------------------------------------------------------------
注意! 你的密码,对于认证域:
<svn://192.168.1.107:3690> 974ca905-8b23-4d8a-bc99-a7e4f409eba7
只能明文保存在磁盘上! 如果可能的话,请考虑配置你的系统,让 Subversion
可以保存加密后的密码。请参阅文档以获得详细信息。
你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,
来避免再次出现此警告。
-----------------------------------------------------------------------
保存未加密的密码(yes/no)?yes
A MyProject/trunk
A MyProject/branches
A MyProject/test.txt
A MyProject/tags
取出版本 1。
# 查看从服务器端版本库中down下来的数据
[root@localhost data]# ls
MyProject
[root@localhost data]# ll MyProject/
总用量 12
drwxr-xr-x 3 root root 4096 3月 26 02:07 branches
drwxr-xr-x 3 root root 4096 3月 26 02:07 tags
-rw-r--r-- 1 root root 0 3月 26 02:07 test.txt
drwxr-xr-x 3 root root 4096 3月 26 02:07 trunk
参考:
http://www.centoscn.com/CentosServer/ftp/2014/0306/2505.html
Subversion安装的更多相关文章
-
【转】Windows平台下的Subversion安装配置新手指南
原文地址:http://developer.51cto.com/art/201005/199628.htm 本文介绍Subversion安装配置快速指南,首先讲Subversion的安装和配置,Uni ...
-
subversion安装使用
这里仅针对subversion进行说明,未完待续. 一.下载subversion并安装: a.subversion 要做svn服务器的必须装 b.Tortoisesvn 仅仅是访问svn服务器的客户端 ...
-
apache svn subversion安装和配置(使用源码安装包方式)
环境:虚拟机下centos7 1.下载安装包:http://subversion.apache.org/download.cgi 2.上传到指定文件夹并解压 3.安装依赖包 apr apr-utils ...
-
Subversion安装和使用
Subversion(SVN)是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说.SVN分为客户端和服务器端,一般服务器端安装在服务器上,我们开发者用的都是客户端.TortoiseSVN是 ...
-
linux下subversion server安装手册
linux下subversion server安装手册 安装基于的Linux版本为:Red Hat Enterprise Linux Server release 6.3. 一 准备需要的安装包. ( ...
-
Windows下安装配置SubVersion的简明步骤
[使用的安装程序和文档说明] svn-1.4.0-setup.exe:Subversion服务端1.4.0安装程序: SubService.rar: SubServe服务Windows辅助工具; T ...
-
Windows下Subversion和Apache的安装及配置(一)
1.序 Subversion可谓版本控制软件中的佼佼者,其开源性,易用性已受到众多软件开发者首选的版本控制软件.在这里我想记录我安装Subversion和Apache的过程.注意,Subversion ...
-
CentOS6.3下安装配置SVN(Subversion)
#检查是否安装了低版本的SVN [root@localhost ~]# rpm -qa subversion subversion--.el6.x86_64 #卸载旧版本SVN [root@local ...
-
[转载]CentOS 6.3安装Subversion服务器
转载自http://www.cnblogs.com/zhoulf/archive/2013/02/02/2889949.html 安装说明 系统环境:CentOS-6.3 安装方式:yum insta ...
随机推荐
-
android中的图片处理
大图片处理 大图片处理是将原来像素高的转换为像素低的图片,比如原来图片是1024*768的,而手机屏幕是800*600的,这时候就需要进行转换.转换的方式很简单就是等比例缩放. package xid ...
-
Linux 下github的使用
*初始化git仓库,使用git init命令 *添加文件到git仓库分两步: 1.使用git add filename :可分多次使用,添加多个文件到暂存区 2.使用git commit -m “ ...
-
lr_save_var() 截取任意字符串长度,以参数形式输出(参数转变量)
Action() { char * desc=(char *)malloc(10); //定义指针变量,以变量形式存放截取到的参数值 // char * aa = "jadkshfkasd ...
- mysql show processlist
-
java学习笔记之System类
System类常用总结 System类概述 java.lang.System类,系统属性信息工具类 常用静态方法: 1. public static long currentTimeMillis() ...
-
Rocketmq 集群
写在前面 Rocketmq采用apache rockemq 4.2.0release版本. 源码路径(http://mirrors.shu.edu.cn/apache/rocketmq/4.2.0/r ...
-
fastjson与各类型的转换
参考:https://www.cnblogs.com/ceshi2016/p/7381478.html http://www.cnblogs.com/goody9807/p/4244862.html ...
-
MySQL 的三个浮点类型
MySQL 支持的三个浮点类型是 FLOAT.DOUBLE 和 DECIMAL 类型. FLOAT 数值类型用于表示单精度浮点数值, DOUBLE 数值类型用于表示双精度浮点数值. 与整数一样,这些类 ...
-
区块链blockchina简述
区块链是比特币的底层技术和基础架构,本质上是一个去中心化的数据库.区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)并生成下一个 ...
-
Mysql--通俗易懂的左连接、右连接、内连接
刚开始看书的时候花了好长时间理解 先通俗易懂的描述下: left join(左联接): 返回包括左表中的所有记录和右表中联结字段相等的记录. right join(右联接): 返回包括右表中的所有记录 ...