SVN工作原理及配置

SVN的基本工作原理:在一台服务器上建立一个源代码库,库里可以存放许多不同项目的源程序。有源代码库管理员统一管理这些源程序。每个用户在使用源代码库之前,首先要把源代码库里的项目文件下载到本地,然后开发人员可以在本地修改,最后用SVN命令进行提交,由源代码库统一管理修改。
Subversion目录说明:
*dav目录:提供Apache与mod_dav_svn使用的目录,让它们存储内部数据
*db目录:就是所有版本控制的数据存放文件
*hooks目录:放置hook脚本文件的目录
*locks目录:是一个文本文件,里面只存放了一个整数。表示当前文件库配置的版本号
*conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)

Centos 6.7 安装SVN服务:

安装SVN:

# yum -y install subversion mod_dav_svn


#若安装有问题,尝试将mod_auth_mysql安上(yum install mod_auth_mysql)

[root@localhost ~]# ls /etc/httpd/modules/ | grep svn
mod_authz_svn.so
mod_dav_svn.so



配置仓库:

编辑authz文件:

#单独定义
user01=rw
#分组定义
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
group1=user02,user03,user04
group2=user05,user06
group3=user07,user08
[/]
@group3=wr
user06=wr
&user09=r
#设置组1只能访问仓库home文件夹,且其他人没有权限
[/home]
@group1=wr
*=


编辑passwd文件:

编辑svnserve.conf文件:
访问SVN的控制文件,此配置文件只对于通过svn://访问的方式有效,http:// | file://等方式访问无效。

anon-access = none
auth-access = write
authz-db = authz
password-db = passwd


配置防火墙:
添加3690端口号
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT



https://mp.weixin.qq.com/s/96ONvb_gUt2fRlkfiyiX9w

常见报错

Export from svn://192.168.1.163
Unable to connect to a repository at URL ‘svn://192.168.1.163’
Can’t connect to host ‘192.168.1.163’: 由于目标计算机积极拒绝,无法连接。

https://blog.csdn.net/xingchenhy/article/details/95044961?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase

扩展

CentOS7_开放指定端口
1.查看已经开放的端口

firewall-cmd --list-ports

2.开启指定端口

firewall-cmd --zone=public --add-port=2181/tcp --permanent

3.重启防火墙

firewall-cmd --reload

4.核实下

firewall-cmd --list-ports

仓库备份

svnadmin dump

1、备份方式多样
2、如果版本数过多,dump的过程将非常慢
3、备份耗时,恢复更耗时
4、备份时数据变大,恢复后数据可能会变小
5、仓库下的passwd和authz不会备份

全备份

在需要备份SVN仓库的服务器上执行如下命令

sudo svnadmin dump /path/repository > /path/repository-backup.2019-12-27

做版本0-2的备份

sudo svnadmin dump /path/repository -r 0:2 --incremental > /path/repository-backup_0-2.2019-12-27

incremental 参数说明

它使用增量方式来导出版本,即每次都只导出自上一个版本以来的修改。这样的好处是:

第一:可以把一个大的文 件切分成若干个小的文件。

第二:在版本库已经存在的情况下,我们只需要每次导出修改的部分,不需要每次都导出整个版本库的内容。

甚至可以通过hook脚本 每天晚上自动将当天的修改dump出来做备份用。

仓库迁移

使用SCP等工具,将备份的文件传输到目标服务器上,例如 /home目录下.

# 建立新的svn仓库
sudo svnadmin create /path/new_repository# 导入数据
sudo svnadmin load /path/new_repository < /home/repository-backup.2019-12-27

参考链接 :
SVN仓库备份和迁移基本操作 https://www.jianshu.com/p/215ae67e95e9

SVN仓库安装、备份和迁移基本操作相关推荐

  1. 【Maven学习】Nexus OSS私服仓库的备份与迁移

    背景 在上一篇博客 [Maven学习]Nexus OSS私服仓库的安装和配置 中,我们已经在机房搭建好了新的Nexus OSS私服仓库.下面是两个版本的Nexus OSS私服仓库的对比图. 老的Nex ...

  2. 将 svn 仓库迁移到 git 仓库

    将 svn 仓库迁移到 git 仓库 1. 找回 svn 仓库的 url 2.将 svn 仓库迁移到 git 仓库 2.1.git命令版 2.2.小乌龟 TortoiseGit版本 1. 找回 svn ...

  3. Linux SVN备份及迁移 - dump方式实操

    因为原来的阿里云服务器到期不再续费,需要把SVN资源库进行备份迁移. 网络查询目前主要有三种方式 1.svnadmin dump 官方推荐的备份方式,优点是比较灵活,可以全量备份也可以增量备份,并提供 ...

  4. linux备份svn仓库脚本,SVN服务备份操作步骤分享

    SVN服务备份操作步骤 1.准备源服务器和目标服务器 源服务器:192.168.1.250 目标服务器:192.168.1.251 root/rootroot 2.对目标服务器(251)装SVN服务器 ...

  5. Ubuntu14下安装svn仓库,以及权限配置

    sudo apt-get update 接下来安装svn apt-get install subversion apt-get install libapache2-svn 检查svn是否安装成功了: ...

  6. Windows上的svn仓库迁移(visualSVN)

    为什么80%的码农都做不了架构师?>>>    案例:原始svn仓库部署在服务器1上,后来要更改到服务器2上进行版本管理. 解决方案1: a)找到服务器1上的svn的仓库. b)复制 ...

  7. SVN仓库迁移到Git遇到的两个问题和解决办法

    SVN仓库迁移到Git遇到的两个问题和解决办法 参考文章: (1)SVN仓库迁移到Git遇到的两个问题和解决办法 (2)https://www.cnblogs.com/shawnpoo/p/SVN-c ...

  8. svn服务器迁移部分文件缺失,SVN仓库迁移(将一个仓库从一台服务上上转移到另一服务器上)...

    将一台服务器上已有的SVN仓库数据整体迁移到另外一台机器上,要保留所有的版本号和版本信息,需要以下过程来解决 No.1 将准备要迁移的仓库导出 命令: 我们先要cd进要导出库的根目录,假设在/data ...

  9. Jenkins安装、备份、迁移

    最近的工作中用到了Jenkins,并且需要将原有的服务器中的Jenkins迁移到新服务器.网上查了很多资料,然后结合自己实际操作写了本篇博客,希望能给大家提供帮助. 目录 Jenkins简介 Jenk ...

最新文章

  1. python local global_python global与nonlocal关键字
  2. 收藏的Web安全管理资料相关
  3. 【VLC-Android】LibVLC API简介(相当于VLC的MediaPlayer)
  4. PyQt5 技术篇-鼠标移动控件显示提示,Qt Designer控件提示设置方法。
  5. java中ra怎么解释_JAVA个人相关知识总结
  6. There is no tracking information for the current branch
  7. java数组求和递归,js数组去重 数组拼接 替换数组中的指定值 递归数组 判断数组中是否存在指定值 数组求和 根据条件判数组值...
  8. LeetCode 79. Word Search
  9. 框架模式和设计模式的区别
  10. java内部类基础(静态内部类)
  11. 新思科技与台积电开发基于N4P制程的最广泛IP核组合
  12. Linux编辑启动停止重启springboot jar包脚本
  13. 树枝学术 | 论文翻译全攻略
  14. 黑马Python笔记1
  15. 智能路由器自建服务器,路由器怎么设置服务器_路由器搭建服务器
  16. dell服务器idrac配置
  17. 工作流应用 电子表单签核
  18. redis数据库正确用法
  19. 凛冬至,这一杯互联网咖啡能热多久?
  20. 学计算机的心理300字,心理作文300字3篇

热门文章

  1. python是什么时候出现的_python诞生于什么时候
  2. c#数组赋初值_【自学C#】|| 笔记 13 数组
  3. 如何开启outlook邮箱的pop3和smtp_怎么在电子邮件客户端上登录腾讯邮箱(QQ邮箱 )?
  4. 使用Android OpenGL ES 2.0绘图之五:添加运动
  5. OpenGL 渲染篇
  6. matlab分段函数怎么画图_从零开始的matlab学习笔记——(17)其它实用的绘图工具...
  7. Linux系统如何创建和挂载XFS文件系统
  8. 一天一种设计模式之三-----单例模式
  9. Kafka_Zookeeper_环境搭建使用
  10. 请解决datagridview