文档章节

Centos6.8下搭建SVN服务器 一套配置文件 管理多个svn 库

冰泪_
 冰泪_
发布于 2017/07/05 17:24
字数 1585
阅读 1420
收藏 2

 

1.Centos6.8下搭建SVN服务器

Subversion是一个自由,开源的版本控制系统。Subversion将文件存放在中心版本库里。这个版本库很像一个普通的文件服务器,
不同的是,它可以记录每一次文件和目录的修改情况。这样就可以籍此将数据恢复到以前的版本,并可以查看数据的更改细节。
Subversion是Apache基金会下的一个项目,官网 https://subversion.apache.org/ 。

2.安装

yum -y install subversion

3.创建SVN版本库

mkdir -p /svn                  ##创建目录
svnadmin create /svn/ice               ##创建ice版本库
svnadmin create /svn/ios          ##创建ios版本库
 rm -rf ios/  用来删除删除版本库   

4、如果单个svn 库或者各自库配置自己的文件  跳过这一步  如果实现一套配置文件管理多个svn库请继续往下看

1>将其中ice 内部的conf 文件夹 移出来 然后将ios 内部的conf文件夹删除(因为2个库共用一套配置所以 只保留一个就够了)   效果图如下

5.配置文件

 conf文件夹里边有三个文件

 1>passwd  里边存的是账号密码

   admin是账号 admin123是密码(有多少账号添加多少)

  

 2>authz 内部存的是 账号权限

 gg是分组用来处理多账户权限管理

[ice:/] 表示 ice的那个svn 库

@gg = rw  表示gg 分组的所有用户都有读写权限

admin3 = rw  表示admin3 有读写权限

* =   表示 其他所有匿名账户不允许访问

* = r 表示允许匿名账户读

* = rw 表示允许匿名账户读写

同理不同的库svn 库可以在在这里给不同用户分配权限

 

 3>svnserve.conf是配置文件

auth-access 是给svn 库开启读写

realm   svn库的根目录

以下 如果不是多个库访问一套配置文件 则默认路径即可不用修改

password -db 是用户名密码文件的路径  因为要多个库 访问同一个配置所以这里需要改为文件绝对路径,

authz -db 账户权限文件 同需要绝对路径 

 

 

5、重启svn服务

  1> killall svnserve关闭服务

  2>svnserve -d -r /svn 启动服务  (正常启动服务)

      svnserve -d -r /svn --config-file=/svn/conf/svnserve.conf (多个库访问一套配置文件 需要制定   配置文件的位置 所以使用这个代码启动服务)

  3>ps aux | grep svnserve #查看服务是否启动

6、确认有没有开启3690 端口 

  netstat -an | grep 3306 查询端口有没有打开 如果打开显示

否则

  /etc/sysconfig/iptables 回车

要打开那个端口就添加那个端口(以下是80 端口和3690 端口)

-A INPUT -m state -–state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A INPUT -m state –-state NEW -m tcp -p tcp –dport 3690 -j ACCEPT

然后  “:wq” 退出

然后保存:etc/rc.d/init.d/iptables save

在看看是否已经有了3690端口的开放权限:netstat -an | grep 3690

 

7、连接svn

 

8、设置svn 开机自启动

1.>创建执行脚本svn.sh(/root路径下,随便哪个路径),其内容很简单,如下:

     #!/bin/bash

     svnserve -d -r /svn --config-file=/svn/conf/svnserve.conf(svn资源库路径)

2.>添加可执行权限

  # chmod ug+x /root/svn.sh

3.>添加自动运行

    vim /etc/rc.d/rc.local

在最后添加一行内容如下:

   /root/svn.sh

 

 

 

svn使用

1、checkout

 
#svn co svn://路径(目录或文件的全路径) [本地目录全路径] 

 --username 用户名 --password 密码
 
#svn checkout svn://路径(目录或文件的全路径) [本地目录全路径] 

 --username 用户名 --password 密码

2、往版本库中添加新的文件

svn add file
例如:svn add test.php(添加test.php)
svn add *.php(添加当前目录下所有的php文件)

3、将改动的文件提交到版本库

svn commit -m "LogMessage" [-N] [--no-unlock] PATH(如果选择了保持锁,就使用--no-unlock开关)
例如:svn commit -m "add test file for my test" test.php
简写:svn ci

4、加锁/解锁

svn lock -m "LockMessage" [--force] PATH
例如:svn lock -m "lock test file" test.php
svn unlock PATH

5、更新到某个版本

svn update -r m path
例如:
svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)
svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)
简写:svn up

6、查看文件或者目录状态

1)svn status path(目录下的文件和子目录的状态,正常状态不显示)
【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】
2)svn status -v path(显示文件和子目录状态)
第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。
简写:svn st

7、删除文件

svn delete path -m "delete test fle"
例如:svn delete svn://192.168.1.1/pro/domain/test.php -m "delete test file"
或者直接svn delete test.php 然后再svn ci -m 'delete test file‘,推荐使用这种
简写:svn (del, remove, rm)

8、查看日志

svn log path
例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化

9、查看文件详细信息

svn info path
例如:svn info test.php

10、比较差异

svn diff path(将修改的文件与基础版本比较)
例如:svn diff test.php
svn diff -r m:n path(对版本m和版本n比较差异)
例如:svn diff -r 200:201 test.php
简写:svn di

11、将两个版本之间的差异合并到当前文件

svn merge -r m:n path
例如:svn merge -r 200:205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)

12、SVN 帮助

svn help
svn help ci

 

© 著作权归作者所有

冰泪_
粉丝 16
博文 90
码字总数 64127
作品 0
青浦
程序员
私信 提问
加载中

评论(8)

冰泪_
冰泪_ 博主

引用来自“红薯”的评论

别搭啦,直接上 gitee.com :)

引用来自“冰泪_”的评论

我玩github gitee 玩的少

引用来自“红薯”的评论

要支持国内平台嘛,gitee 比 github 更快,功能更强大哟,试试呗:)

引用来自“冰泪_”的评论

gitee 我以前也在用 后来因为各种原因转到github了 😄

引用来自“红薯”的评论

你肯定转错啦,转回来,有任何问题 call 我:)
行 有问题call 你 😛
红薯
红薯

引用来自“红薯”的评论

别搭啦,直接上 gitee.com :)

引用来自“冰泪_”的评论

我玩github gitee 玩的少

引用来自“红薯”的评论

要支持国内平台嘛,gitee 比 github 更快,功能更强大哟,试试呗:)

引用来自“冰泪_”的评论

gitee 我以前也在用 后来因为各种原因转到github了 😄
你肯定转错啦,转回来,有任何问题 call 我:)
冰泪_
冰泪_ 博主

引用来自“红薯”的评论

别搭啦,直接上 gitee.com :)

引用来自“冰泪_”的评论

我玩github gitee 玩的少

引用来自“红薯”的评论

要支持国内平台嘛,gitee 比 github 更快,功能更强大哟,试试呗:)
gitee 我以前也在用 后来因为各种原因转到github了 😄
冰泪_
冰泪_ 博主

引用来自“红薯”的评论

别搭啦,直接上 gitee.com :)

引用来自“冰泪_”的评论

我玩github gitee 玩的少

引用来自“红薯”的评论

要支持国内平台嘛,gitee 比 github 更快,功能更强大哟,试试呗:)
恩恩 知道的 2个操作什么的都是一样的 gitee这个我用过的 不过我服务器搭建的有vps 所以国外网 什么的不是问题 😄
红薯
红薯

引用来自“红薯”的评论

别搭啦,直接上 gitee.com :)

引用来自“冰泪_”的评论

我玩github gitee 玩的少
要支持国内平台嘛,gitee 比 github 更快,功能更强大哟,试试呗:)
冰泪_
冰泪_ 博主

引用来自“红薯”的评论

别搭啦,直接上 gitee.com :)
我玩github gitee 玩的少
冰泪_
冰泪_ 博主

引用来自“红薯”的评论

别搭啦,直接上 gitee.com :)
我只是在搭着玩 git我会用的 闲着没事在尝试玩 lamp 买了服务器域名 搞着玩
红薯
红薯
别搭啦,直接上 gitee.com :)
CentOS 搭建SVN服务器

系统环境:Centos 6.8 1、通过yum命令安装svnserve yum -y install subversion 此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行 若需查看svn安装位置,可以用以下命...

一只大橘子
2017/11/01
35
0
Puppet系列之三:Puppet结合SVN实现版本的集中化备份与恢复

1 概述 通过安装部署Puppet C/S模型,实现Puppet Server端管理所有被控制机的整个生命周期:从初始化到软件升级、从配置文件创建到测试部署、从系统维护到服务器迁移等。Puppet能够持续化的与...

guzhoujiexing
2018/06/26
0
0
CentOS 5.5下搭建部署独立SVN服务器全程详解

SVN服务器有2种运行方式: 1、独立服务器 (例如:svn://xxx.com/xxx); 2、借助apache (例如:http://svn.xxx.com/xxx); 为了不依赖apache,我选择第一种方式:独立的svn服务器。 SVN存储版...

李长春
2012/02/16
215
0
Centos搭建SVN服务器及配置文件

1、安装 #yum install subversion 判断是否安装成功 yum安装结束时会显示版本 svnserve, version 1.6.11 (r934486) 出现上面的提示,说明安装成功。 有了SVN软件后还需要建立SVN库。 #mkdir...

罗荣熙
2012/09/23
1K
0
阿里云centos7搭建SVN

centos7搭建SVN 本文主要讲解设置多个版本库 SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控...

1152522397741403
2018/06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 人生,还真是到处是意外

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @这次装个文艺青年吧 :#今日歌曲推荐# 分享lil peep的单曲《High School》 《High School》- lil peep 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
53分钟前
20
2
Spring使用ThreadPoolTaskExecutor自定义线程池及实现异步调用

多线程一直是工作或面试过程中的高频知识点,今天给大家分享一下使用 ThreadPoolTaskExecutor 来自定义线程池和实现异步调用多线程。 一、ThreadPoolTaskExecutor 本文采用 Executors 的工厂...

CREATE_17
今天
6
0
CSS盒子模型

CSS盒子模型 组成: content --> padding --> border --> margin 像现实生活中的快递: 物品 --> 填充物 --> 包装盒 --> 盒子与盒子之间的间距 content :width、height组成的 内容区域 padd......

studywin
今天
7
0
修复Win10下开始菜单、设置等系统软件无法打开的问题

因为各种各样的原因导致系统文件丢失、损坏、被修改,而造成win10的开始菜单、设置等系统软件无法打开的情况,可以尝试如下方法解决 此方法只在部分情况下有效,但值得一试 用Windows键+R打开...

locbytes
昨天
10
0
jquery 添加和删除节点

本文转载于:专业的前端网站➺jquery 添加和删除节点 // 增加一个三和一节点function addPanel() { // var newPanel = $('.my-panel').clone(true) var newPanel = $(".triple-panel-con......

前端老手
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部