CentOS6.8 搭建SVN(版本控制系统)及SVN的使用

CentOS搭建SVN

查看系统环境

(1)查看系统版本

[[email protected] ~]# cat /etc/redhat-release
CentOS release 6.8 (Final)

(2)查看系统全部信息

[[email protected] ~]# uname -a
Linux node-005 2.6.32-642.15.1.el6.x86_64 #1 SMP Fri Feb 24 14:31:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

(3)查看系统内核

[[email protected] ~]# uname -r
2.6.32-642.15.1.el6.x86_64

安装SVN

1、修改yum仓库配置(可不做,我这里做事保留SVN安装包)

[[email protected] ~]# sed -i ‘s#keepcache=0#keepcache=1#g‘ /etc/yum.conf
[[email protected] ~]# grep keepcache /etc/yum.conf    #rpm包不删除
keepcache=1
[[email protected] ~]# yum -y install subversion

2、查找查找SVN安装包

[[email protected] ~]# find / -name subversion-1.6.11-15.el6_7.x86_64.rpm
/var/cache/yum/x86_64/6/base/packages/subversion-1.6.11-15.el6_7.x86_64.rpm
[[email protected] ~]# tree /var/cache/yum/x86_64/6/base/packages/
/var/cache/yum/x86_64/6/base/packages/
├── apr-1.3.9-5.el6_2.x86_64.rpm
├── apr-util-1.3.9-3.el6_0.1.x86_64.rpm
├── libproxy-0.3.0-10.el6.x86_64.rpm
├── libproxy-bin-0.3.0-10.el6.x86_64.rpm
├── libproxy-python-0.3.0-10.el6.x86_64.rpm
├── neon-0.29.3-3.el6_4.x86_64.rpm
├── pakchois-0.4-3.2.el6.x86_64.rpm
├── perl-URI-1.40-2.el6.noarch.rpm
├── subversion-1.6.11-15.el6_7.x86_64.rpm
└── tree-1.5.3-3.el6.x86_64.rpm
 
0 directories, 10 files
[[email protected] packages]# rpm -aq subversion
subversion-1.6.11-15.el6_7.x86_64

配置并启动SVN

1、创建SVN版本库根目录(svndata)及密码权限目录(svnpasswd)

[[email protected] ~]# mkdir -p /application/svndata
[[email protected] ~]# mkdir -p /application/svnpasswd
[[email protected] ~]# tree /application/svn*
/application/svndata
/application/svnpasswd
 
0 directories, 0 files

2、启动SVN服务指定服务的SVN根目录

[[email protected] ~]# svnserve -d -r /application/svndata/ # -d 
后台运行;-r 指定运行目录

# 注:查看svnserver命令帮助

[[email protected] ~]# svnserve --help
用法: svnserve [-d | -i | -t | -X] [options]
 
有效选项:
  -d [--daemon]            : 后台模式
  -i [--inetd]             : inetd 模式
  -t [--tunnel]            : 隧道模式
  -X [--listen-once]       : 监听一次方式(调试用)
  -r [--root] ARG          : 服务的根目录
  -R [--read-only]         : 强制只读;覆盖版本库配置文件
  --config-file ARG        : 从文件 ARG 读取配置
  --listen-port ARG        : 监听端口
                             [方式: daemon, listen-once]
  --listen-host ARG        : 监听主机名称或IP地址
                             [方式: daemon, listen-once]
  -T [--threads]           : 使用线程代替进程 [方式: daemon]
  --foreground             : 在前台运行(调试用)
                             [方式: daemon]
  --log-file ARG           : svnserve 日志文件
  --pid-file ARG           : 写进程 PID 到文件 ARG
                             [方式: daemon, listen-once]
  --tunnel-user ARG        : 隧道用户名(默认是当前UID对应的用户名)
                             [方式: tunnel]
  -h [--help]              : 显示本帮助
  --version                : 显示程序版本信息

3、查看服务是否启动

(1)查看进程

[[email protected] ~]# ps -ef |grep svn
root      67481  0 15:25 ?        00:00:00 svnserve -d -r /application/svndata/
root      67526658  0 15:34 pts/0    00:00:00 grep svn

(2)查看端口

[[email protected] ~]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local AddressForeign AddressState       PID/Program name  
tcp        00 0.0.0.0:36900.0.0.0:*                   LISTEN      6748/svnserve      
tcp        00 0.0.0.0:3306                0.0.0.0:*                   LISTEN      5217/mysqld        
tcp        00 0.0.0.0:210.0.0.0:*                   LISTEN      2160/vsftpd        
tcp        00 0.0.0.0:220.0.0.0:*                   LISTEN      5581/sshd          
tcp        00 127.0.0.1:6310.0.0.0:*                   LISTEN      1315/cupsd         
tcp        00 127.0.0.1:250.0.0.0:*                   LISTEN      1905/sendmail      
tcp        0  0 :::80                       :::*                        LISTEN      1925/httpd         
tcp        00 :::22:::*                        LISTEN      5581/sshd          
tcp        00 ::1:631:::*                        LISTEN      1315/cupsd         
udp        00 0.0.0.0:6310.0.0.0:*1315/cupsd

(3):已知端口号查看进程

[[email protected] ~]# lsof -i tcp:3690
COMMAND   PID USERFD   TYPE DEVICE SIZE/OFF NODE NAME
svnserve 6748 root    3u  IPv448866      0t0  TCP *:svn (LISTEN)
[[email protected] ~]# netstat -lntup |grep 3690
tcp        00 0.0.0.0:36900.0.0.0:*                   LISTEN      6748/svnserve

创建SVN版本库

1、新的Subversion项目

(1)创建一个新的Subversion项目(版本库)

[[email protected] ~]# svnadmin create /application/svndata/sadoc
[[email protected] ~]# ll /application/svndata/sadoc/
总用量 24
drwxr-xr-x 2 root root 4096 4月  20 15:47 conf
drwxr-sr-x 6 root root 4096 4月  20 15:47 db
-r--r--r-- 1 root root    2 4月  20 15:47 format
drwxr-xr-x 2 root root 4096 4月  20 15:47 hooks
drwxr-xr-x 2 root root 4096 4月  20 15:47 locks
-rw-r--r-- 1 root root  229 4月  20 15:47 README.txt

(2)查看帮助

[[email protected] ~]# svnadmin --help
一般用法: svnadmin SUBCOMMAND REPOS_PATH  [ARGS & OPTIONS ...]
使用“svnadmin help <subcommand>” 得到子命令的帮助信息。
使用“svnadmin --version”查看程序的版本号和文件系统模块。
 
可用的子命令:
   crashtest
   create
   deltify
   dump
   help (?, h)
   hotcopy
   list-dblogs
   list-unused-dblogs
   load
   lslocks
   lstxns
   pack
   recover
   rmlocks
   rmtxns
   setlog
   setrevprop
   setuuid
   upgrade
   verify
 
[[email protected] ~]# svnadmin help create
create: 用法: svnadmin create REPOS_PATH
 
在 REPOS_PATH 创建一个新的空版本库。
 
有效选项:
  --bdb-txn-nosync         : 在提交事务时禁用fsync [BDB]
  --bdb-log-keep           : 禁用自动删除日志文件 [BDB]
  --config-dir ARG         : 从目录 ARG 读取用户配置文件
  --fs-type ARG            : 版本库类型: “fsfs”(默认)或“bdb”
  --pre-1.4-compatible     : 使用与1.4之前版本兼容的格式
  --pre-1.5-compatible     : 使用 Subversion 1.5 之前版本的格式
  --pre-1.6-compatible     : 使用与 1.6 之前版本兼容的格式

2、仓库用户权限配置

(1)配置允许用户solin读写访问

①备份配置文件

[[email protected] ~]# cd /application/svndata/sadoc/conf/
[[email protected] conf]# /bin/cp svnserve.conf svnserve.conf.solin$(date +%F)

②过滤要修改的配置

[[email protected] conf]# egrep "\-access|\-db =" svnserve.conf
# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz

③修改后的参数(可以用sed替换,也可用vi/vim直接修改)

[[email protected] conf]# egrep "\-access|\-db =" svnserve.conf
# anon-access = none   #不允许匿名访问
# auth-access = write  #允许可写
# password-db = /application/svnpasswd/passwd  #密码数据库,存放SVN吗
# authz-db = /application/svnpasswd/authz      #控制权限的数据库

另:修改后对比

[[email protected] conf]# egrep "\-access|\-db =" svnserve.conf
# anon-access = read
anon-access = none
# auth-access = write
auth-access = write
# password-db = passwd
password-db = /application/svnpasswd/passwd
# authz-db = authz
authz-db = /application/svnpasswd/authz
[[email protected] conf]# diff svnserve.conf.solin2017-04-20 svnserve.conf
12a13
> anon-access = none
13a15
> auth-access = write
20a23
> password-db = /application/svnpasswd/passwd
27a31
> authz-db = /application/svnpasswd/authz

3、配置authz、passwd证书文件

(1)把密码证书文件模板复制到相关目录并修改文件权限

[[email protected] conf]# cp authz passwd /application/svnpasswd/
[[email protected] conf]# ll /application/svnpasswd/
总用量 8
-rw-r--r-- 1 root root 1080 4月  20 17:22 authz
-rw-r--r-- 1 root root  309 4月  20 17:22 passwd
[[email protected] conf]# chmod 700 /application/svnpasswd/*
[[email protected] conf]# ll /application/svnpasswd/
总用量 8
-rwx------ 1 root root 1080 4月  20 17:22 authz
-rwx------ 1 root root  309 4月  20 17:22 passwd

(2)authz、passwd的配置

vi /application/svnpasswd/authz
添加如下:
[groups]
bd_sa = solin,test
# [/foo/bar]
[sadoc:/]
# [repository:/baz/fuz]
@bd_sa = rw
test1 = r

vi /application/svnpasswd/passwd
添加如下:
[users]
solin = bdyun
test = bdyun

4、重启SVN

[[email protected] conf]# pkill svnserve
[[email protected] conf]# ps -ef |grep svn
root      68326658  0 17:52 pts/0    00:00:00 grep svn
[[email protected] conf]# svnserve -d -r /application/svndata/
[[email protected] conf]# ps -ef |grep svn
root      68341  0 17:52 ?        00:00:00 svnserve -d -r /application/svndata/
root      68366658  0 17:52 pts/0    00:00:00 grep svn

Windows(客户端)安装TortoisSVN

1、官网下载TortoisSVN

https://tortoisesvn.net/downloads.html

2、安装

(1)下载软件后,双击程序进行安装,点击“Next”,我这里选择的试64位SVN;

(2)在许可证协议页面,选择“I Accept the terms in the License Agreement”,点击“Next”;

(3)在自定义选项页面,可以选择安装目录,也可以直接点击“Next”进行安装;

(4)点击“Install”开始安装;

(5)安装完成后,点击“Finsh”;

Windows使用SVN版本控制系统

连接的方式,账户及密码

svn;//192.168.119.91/sadoc            #你自己的服务器IP

用户名:solin

密码:bdyun

1、选择本地目录或创建目录作为拉取(同步)SVN项目的库的目录,在目录中选择SVN Checkout

2、设置地址,分别输入SVN地址和本地地址,点击OK继续

3、输入用户名和密码,点击OK继续

4、成功连接(可以感觉个人喜好现在语言,官网下载语言包,下面图片是我汉化后的截图)

(1)汉化下载地址:https://tortoisesvn.net/downloads.html

(2)SVN checkout完成

5、在test_svn目录中创建文件test.txt,提交

6、填写提交信息

7、提交完成,版本变成1

到这里SVN服务搭建及客户端测试就完全结束了。

时间: 2024-12-16 11:42:33

CentOS6.8 搭建SVN(版本控制系统)及SVN的使用的相关文章

SVN版本控制系统

SVN 版本控制系统 --------------------------------------------------------------------------------------------- 1.SVN作用 防止代码丢失 : 因为没有哪个项目能够一次性开发完成 代码版本回退 : 你可以在开发过程中找到以前上传到服务器上面的所有版本 多人代码整合 : 公司中多个人开发同一个项目,个人做个人的模块,最后将大家的代码进行整合 使用权限控制 : 一般公司会为新员工设置权限,不让他们直接

Apache2+SVN搭建代码版本控制系统

1 安裝Apache2服务器 1.1 安装 #sudo  apt-get install apache2 1.2 重启 #sudo service apache2 restart 1.3 设置字符编码 #sudo gedit etc/apache2/conf.d/charset 找到#AddDefaultCharset UTF-8,将前面的#去掉(使用UTF-8编码). 1.4 确认安装成功 通过浏览器访问http://127.0.0.1 或者 http://localhost/会出现如下提示:

TortoiseSVN与VisualSVN Server搭建SVN版本控制系统【转】

转自:http://www.cnblogs.com/xing901022/p/4399382.html 本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN系统. 背景知识 首先要了解SVN是一种集中式管理代码的版本控制系统,原理就是 把代码都保存到一个固定的位置,每次从这个位置拷贝更新代码,进行编辑:再把修改后的代码提交到该目录中. 多人协作开发也

[转]TortoiseSVN与VisualSVN Server搭建SVN版本控制系统

本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN系统. 背景知识 首先要了解SVN是一种集中式管理代码的版本控制系统,原理就是 把代码都保存到一个固定的位置,每次从这个位置拷贝更新代码,进行编辑:再把修改后的代码提交到该目录中. 多人协作开发也是如此. 因此需要一个类似Oracle或者Mysql的服务器用于保存和管理库文件(要保存的代码等文件)的

TortoiseSVN与VisualSVN Server搭建SVN版本控制系统

本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN系统. 背景知识 首先要了解SVN是一种集中式管理代码的版本控制系统,原理就是 把代码都保存到一个固定的位置,每次从这个位置拷贝更新代码,进行编辑:再把修改后的代码提交到该目录中. 多人协作开发也是如此. 因此需要一个类似Oracle或者Mysql的服务器用于保存和管理库文件(要保存的代码等文件)的

(转)TortoiseSVN与VisualSVN Server搭建SVN版本控制系统

本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN系统. 背景知识 首先要了解SVN是一种集中式管理代码的版本控制系统,原理就是 把代码都保存到一个固定的位置,每次从这个位置拷贝更新代码,进行编辑:再把修改后的代码提交到该目录中. 多人协作开发也是如此. 因此需要一个类似Oracle或者Mysql的服务器用于保存和管理库文件(要保存的代码等文件)的

puppet结合SVN版本控制系统实现版本的集中化备份与恢复

一.介绍 通过安装部署Puppet C/S模型,实现Puppet Server端管理所有被控制机的整个生命周期:从初始化到软件升级.从配置文件创建到测试部署.从系统维护到服务器迁移等.Puppet能够持续化的与被控制机进行交互,从而实现配置文件的及时检测更新.结合SVN版本控制系统,puppet可在更新之前将当前正在运行的环境以版本的方式保存到SVN版本控制系统中,方便以后通过puppet更新出错或者需要回滚到之前的某一个环境时快速恢复. 二.环境介绍 序号    服务器类型          

SVN版本控制系统搭建(结合http服务)

.zise { background: #CCCCFF; color: white; text-align: center } .fense { color: #FFCCCC; text-align: center; font-size: 22px } .lan { background: #99CCFF; color: white } table { position: relative; margin-left: 150px } .table td { width: 100px; borde

VisualSVN Server与TortoiseSVN搭建SVN版本控制系统

SVN是一种集中式管理代码的版本控制系统,原理就是 把代码都保存到一个固定的位置,每次从这个位置拷贝更新代码,进行编辑:再把修改后的代码提交到该目录中. 多人协作开发也是如此. 因此需要一个类似Oracle或者Mysql的服务器用于保存和管理库文件(要保存的代码等文件)的服务端--VisualSVN Server. 还需要一个用户的操作端,用于提交更新检出代码,常用的有TortoiseSVN(小乌龟). 使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN

Git与SVN版本控制系统

关于版本控制 什么是版本控制?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.在本书所展示的例子中,我们仅对保存着软件源代码的文本文件作版本控制管理,但实际上,你可以对任何类型的文件进行版本控制. Git:分布式版本控制体统, 是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git的功能特性: 1.从服务器上克隆完整的Git仓库(包括代码和版本信息)到自己电脑上. 2.在自己的电脑上根据不同的开发目的,创建分支,修改增删代码. 3.在自