============================================================================================================

 2:初始化进程

所有主机关闭防火墙

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# iptables -F
[root@localhost ~]# setenforce 0
[root@localhost ~]#

3:在111上部署SVN服务器

[root@localhost ~]# hostname svn
[root@localhost ~]# bash

[root@svn ~]# yum install subversion -y

[root@svn ~]# mkdir -p /application/svndata/crushlinux                     #svndata是放代码的,crushliunx是项目
[root@svn ~]# mkdir -p /application/svnpasswd                                 #svnpasswd用于存放用户名和密码,授权文件

创建yunjisuan项目主分支,开头分支,测试分支相当于三个项目

[root@svn ~]# svnadmin create /application/svndata/crushlinux/master                        #master主分支
[root@svn ~]# svnadmin create /application/svndata/crushlinux/dev                              #dev开发分支
[root@svn ~]# svnadmin create /application/svndata/crushlinux/test                               #测试分支
[root@svn ~]# cd /application/svndata/crushlinux/master/conf/
[root@svn conf]# cp svnserve.conf svnserve.conf-$(date +%F)

[root@svn conf]# vim svnserve.conf

19行         anon-access = none                                    #是否允许匿名用户访问
20行         auth-access = write                                   #授权通过的是否可以写
27行         password-db = /application/svnpasswd/passswd          #指定用户的密码文件
34行         authz-db = /application/svnpasswd/authz               #给指定用户分配权限

将配置文件覆盖另外两个分支

[root@svn conf]# ls
authz       passwd        svnserve.conf         svnserve.conf- svnserve.conf-2019-11-28

[root@svn conf]# cp authz passwd /application/svnpasswd/
[root@svn conf]# cd /application/svnpasswd/

[root@svn svnpasswd]# vim passwd

在【users】添加四个用户

manager=
dev=
tom=
bob=

[root@svn svnpasswd]# vim authz

在末尾添加如下内容

testgroup = tom,bob       #组是testgroup    成员是tom.bob

[crushlinux/master:/]        
 manager = rw                 #master主分支代码提交者-----开发经理
 dev = r                       #开发人员具有写权限

[crushlinux/dev:/]
 dev = rw                        #dev开发分支代码提交者----普通程序员
 manager = r                     #dev开发代码下载者-------开发经理

[crushlinux/test:/]
 @testgroup = r                 #test测试分支代码下载者------测试人员
 manager = rw                     #test测试分支代码提交者-----开发经理

[root@svn svnpasswd]# svnserve -d -r /application/svndata/                          #启动服务

[root@svn svnpasswd]# cd

[root@svn ~]# netstat -lnpt | grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 60000/svnserve

[root@svn backup]# ps -ef | grep svn
root 11138 1 0 13:55 ? 00:00:00 svnserve -d -r /application/svndata/
root 21046 15876 0 15:12 pts/2 00:00:00 grep --color=auto svn

 在111svn服务器上安装依赖关系:

[root@svn ~]#yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel autoconf gcc gcc-c++ make -y

 编译安装:

[root@svn ~]# rz

[root@svn ~]# ls
git-2.22.0.tar.gz 

[root@svn ~]# tar xf git-2.22.0.tar.gz -C /usr/src
[root@svn ~]# cd /usr/src/git-2.22.0/
[root@svn git-2.22.0]# make configure
GIT_VERSION = 2.22.0
GEN configure
[root@svn git-2.22.0]# ./configure --prefix=/usr/local/git && make && make install

[root@svn git-2.22.0]# ln -sf /usr/local/git/bin/git /usr/bin/
[root@svn git-2.22.0]# git --version
git version 2.22.0

[root@svn git-2.22.0]# cd /etc/yum.repos.d/
[root@svn yum.repos.d]# ls
a Centos-7.repo docker-ce.repo local.repo
[root@svn yum.repos.d]# mv a/CentOS-Base.repo ./
[root@svn yum.repos.d]# cd

 安装git-svn支持程序

[root@svn~]# yum install subversion-perl perl-Digest-MD5 -y

 创建GIT工作目录并克隆SVN分支代码到本地

[root@svn ~]# mkdir /backup

[root@svn ~]# cd /backup/

将SVN服务器master分支代码克隆到本地GIT工作目录

[root@svn backup]# git svn clone --no-metadata svn://192.168.200.112/crushlinux/master/ /backup/master/

已初始化空的 Git 仓库于 /backup/master/.git/
Authentication realm: <svn://192.168.200.113:3690> e36c0e71-3ff5-4824-9f4b-11cd6b362309
Password for 'root':              #这是虚拟机密码
Authentication realm: <svn://192.168.200.113:3690> e36c0e71-3ff5-4824-9f4b-11cd6b362309
Username: manager           
Password for 'manager':

将SVN服务器dev分支代码克隆到本地GIT工作目录

[root@svn backup]# git svn clone --no-metadata svn://192.168.200.112/crushlinux/dev/ /backup/dev/

查看

[root@gitlab01 backup]# ls
dev        master       test

SVN代码迁移到GITlab的更多相关文章

  1. svn项目迁移至gitlab

    关于svn项目迁移有人可能会说,新建一个git项目,把原来的代码直接扔进去提交不完了吗.恩,是的,没错.但是为了保留之前的历史提交记录,还是得做下面的步骤 首先确保本地正常安装配置好git,具体步骤不 ...

  2. GitLab初识以及代码迁移

    目录 一.理论概述 1.什么是gitlib 2.GitLab服务构成 3.Git对比SVN 二.部署 1.简单操作GitLab 三.项目实践:SVN代码迁移至GitLab 环境 1.Linux下部署S ...

  3. SVN迁移到Gitlab实践经历

    svn 迁移至git操作手册 项目交付.版本管理工具变更等情况下,迁移svn旧历史记录有很大必要,方便后续追踪文件的提交历史,文件修改记录比对等.git自带了从svn迁移至git的工具命令,可很好的对 ...

  4. SVN项目迁移到Git上(并带有完整的提交记录)

    公司需求:早期的一些项目使用的是SVN,现在想要更换为Git,需要代码迁移并且能在Git上看到之前在SVN中的项目的提交记录,公司没有使用gitlab,代码都push在公司的服务器上,用的是Torto ...

  5. svn 版本迁移到 git 仓库

    1.拉取 svn代码并转成 git 版本 git svn fetch http://svn.qtz.com/svn/qtz_code/java/qtz_sm/project/qtz_sm -Auser ...

  6. 使用git svn clone迁移svn仓库

    使用git svn clone迁移svn仓库 clone命令可以指定很多参数,主要用到这些,你也可以使用git svn help查看完整的参数列表. git svn clone https://172 ...

  7. SVN如何迁移到Git?

    最近在使用华为软件开发云进行开发项目管理,目前华为软件开发云支持500M的免费项目空间,而且还可以在线编译和构建,不用担心开发环境和生产环境的不同,很好的体现了DevOps的开发理念. 之前一直是用s ...

  8. vue 代码迁移的坑

    由于开发需要,开发过程中总会遇到由于代码调试.svn/git上传等过程中,总会出现代码迁移文件的需求,很多时候,迁移过后总会出现一些大大小小的问题, 首先,需要迁移文件内有没有系统自动隐藏的文件(例如 ...

  9. github仓库迁移到gitlab以及gitlab仓库迁移到另一个gitlab服务器

    一. github仓库迁移到gitlab 先进入 new project: 选择 Import project, 选择下面的github: 进入后,这里需要github的 personal acces ...

随机推荐

  1. 将字符串转换为double类型的list

    var data=“3.039,3.977,3.677,5.855,12.341,6.771”; 方法一: var result=datas.Split(',').ToList().ConvertAl ...

  2. (转)一致性Hash

    转载请说明出处:http://blog.csdn.net/cywosp/article/details/23397179     一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT) ...

  3. 最长公共子串2(LCS2) lg SP1812

    题意:n个字符串(n<=10)求最长公共子串的长度 前置技能点:https://www.cnblogs.com/wenci/p/10432932.html (两个字符串求最长公共子串的长度) 既 ...

  4. 删除Eclipse中的SVN账号信息-SVN切换用户

    在eclipse中经常用到用svn进行代码版本控制,为了提交或更新代码的时候不反复地提示我们输入用户名和密码,于是我们就习惯把访问SVN的用户名密码自动保存起来. 以便下次自动使用,不要再次手工多次输 ...

  5. 解决git速度太慢的问题,亲测有效

    在家用的是电信网,每次git大型项目总是失败,甚是苦恼,解决了好几次都失败了,终忍受不了,下定决心干掉它. git clone特别慢是因为github.global.ssl.fastly.net域名被 ...

  6. @Cacheable注解不生效原因

    因为@Cacheable注解应用了AOP动态代理,生成代理类,判断缓存中是否存在该key,如果不存在则调用被代理类的标有@Cachable注解的方法,否则不执行. 所以当类A的方法a调用方法b(标有@ ...

  7. 浅析State-Thread

    State-Thread(以下简称st),是一个由C语言编写的小巧.简洁却高效的开源协程库.这个库基于单线程运作.不强制占用用户线程,给予了开发者最大程度的轻量级和较低的侵入性.本篇文章中,网易云信音 ...

  8. centos docker 防火墙设置(多个ip之间互相访问)

    [Solution] Update firewall policy 1)      Disabled docker rules of iptables  --- docker will create ...

  9. [Codechef - ADITREE] Adi and the Tree - 树链剖分,线段树

    [Codechef - ADITREE] Adi and the Tree Description 树上每个节点有一个灯泡,开始所有灯泡都是熄灭的.每次操作给定两个数 \(a,b\) ,将 \(a,b ...

  10. 在 linux 中连接 mysql 数据库

    命令格式 mysql -h主机地址 -u用户名 -p用户密码 登录本机 mysql mysql -u用户名 -p用户密码 实例 TD - X1数据库:/opt/lampp/bin/mysql -u r ...