①将SVN迁移到GitLab-单分支迁移
将SVN上的代码迁移到GitLab上,实际原理是将所迁移的服务器上,拷贝SVN上的相关代码,在服务器上生成Git相关仓库,然后推送到GitLab仓库,并保存SVN相关的提交记录,分支,标签等信息。
一、安装git-svn
首先安装迁移所需要的工具git-svn,通过以下命令行进行安装。
apt-get install -y git-svn或者yum install -y git-svn


我们在原来的svn教程基础上,用shaw001用户新增了testMeg.txt、commit-shaw001.txt文件,用shaw002用户新增了commit-shaw002.txt文件,并修改了两个文件,svn提交记录如图所示:

二、生成用户映射文件
保留原SVN仓库的Commit等历史记录,需要获取到SVN使用的作者名字列表,为了获得 SVN 使用的作者名字列表,可以通过以下命令行,获取SVN相关用户信息:
svn co --username shaw001 --password shaw001 svn://192.168.109.128/ code
以上红色部分为可变变量,说明:
--username:后头跟svn用户名。
--password:后头跟svn用户相关密码
svn://192.168.109.128/:为SVN仓库地址
code:文件夹,存放SVN仓库相关文件夹

执行命令后会将svn上的相关文件代码存放到code文件夹。进入code文件夹,可以看到,我们在svn存放的一些文件信息。
接着,通过以下命令,生成svn用户列表:
svn log --xml | grep author | sort -u | perl -pe 's/.*>(.*?)<.*/$1 = /' > /home/svn/users.txt
红色部门为用户列表文件存放的路径。期间要输入svn的用户名和密码。

执行命令后我们在/home/svn路径下会多出一个users.txt的文件。

打开后,我们会看到里头有svn的用户。

三、修改用户列表,配置与GitLab用户映射关系
我们登陆到GitLab上,新建两个用户shaw001和shaw002,并且email设定为shaw001@example.com和shaw002@example.com


修改users.txt文件,配置对应关系:

格式如下:
svn用户 = GitLab用户<GitLab用户邮箱>
四、将svn仓库变成GitLab仓库
在服务器上拷贝svn代码并转成GitLab仓库。通过以下命令:
git svn clone svn://192.168.109.128/ --authors-file=/home/svn/users.txt --no-metadata myproject
期间也是要输入svn密码的:

执行完文件信息如下:

五、创建GitLab项目接收代码
在gitlab创建testsvn项目用来接收svn代码

执行分支添加:
git remote add origin git@192.168.109.128:shaw001/testsvn.git
然后推送到远端:
git push origin –all

有时候执行过程中会提示:无法推送一些引用到”xxx”
执行以下命令:
git push -u origin +master

这时候要添加sshkey。这步骤省去,添加完后,重新执行下。这儿添加ssh key略去,添加SSH key之后重新执行:

登录gitlab查看下,相关的提交记录

文件已经同步了

同时相关的提交记录也同步了。完成。
①将SVN迁移到GitLab-单分支迁移的更多相关文章
- gogs迁移至gitlab
一.先来聊一聊迁移的思路,不管是gogs迁移至gitlab,还是gitlab迁移至gogs,亦或gitlab迁移至gitlab,手动迁移的步骤都是如下图所示(在gitlab上新建一个空项目就会有这样的 ...
- SVN迁移到Gitlab实践经历
svn 迁移至git操作手册 项目交付.版本管理工具变更等情况下,迁移svn旧历史记录有很大必要,方便后续追踪文件的提交历史,文件修改记录比对等.git自带了从svn迁移至git的工具命令,可很好的对 ...
- 项目案例之GitLab的数据迁移
项目案例之GitLab的数据迁移 链接:https://pan.baidu.com/s/1CgaEv12cwfbs5RxcNpxdAg 提取码:fytm 复制这段内容后打开百度网盘手机App,操作更方 ...
- github仓库迁移到gitlab以及gitlab仓库迁移到另一个gitlab服务器
一. github仓库迁移到gitlab 先进入 new project: 选择 Import project, 选择下面的github: 进入后,这里需要github的 personal acces ...
- Oracle 单实例 迁移到 RAC 实例 -- 使用RMAN 异机恢复
Oracle 官网有关单实例迁移到RAC的一个步骤说明: How to Convert 10g Single-Instance database to 10g RAC using Manual Con ...
- Gitlab备份与恢复、迁移与升级
0.Gitlab安装 1.安装和配置必要的依赖关系 在CentOS7,下面的命令将在系统防火墙打开HTTP和SSH访问. yum install curl openssh-server postf ...
- 如何从GitHub迁移到GitLab?
如何从GitHub迁移到GitLab? 在本文中,我们将解释如何从Github迁移到Gitlab,同时我们也将解释如何将Github的开源项目导入到Gitlab. 正如你可能非常清楚的那样, Gitl ...
- gitHub 迁移到gitlab上
GitHub 迁移到 GitLab 上 第一步在github上生成 token 地址 https://blog.csdn.net/u014175572/article/details/55510825 ...
- Gitlab备份、迁移、恢复和升级
Gitlab备份.迁移.恢复和升级 自建的Gitlab服务器常常会因为使用时间的增长,其空间容量等硬件需求都需要升级,或者迁移至更高配置的服务器上.备份.迁移.恢复.升级过程如下 1.gitlab备份 ...
随机推荐
- Android中百分比布局
百分比布局的出现主要是因为LinearLayout中可以通过android:layout_weight="1"这种方法来支持按比例指定控件大小 但是FrameLayout和Rela ...
- EduSoho之插件开发(脚手架搭建)
本文主要参考官方文档,地址为:http://developer.edusoho.com/plugin/start.html 插件开发的目的,一方面为了更好的扩展,另外一方面为了更好的维护. 关于这方面 ...
- 2015-2016-2《Java程序设计》团队博客4
一.类结构图 这一周将所有的类都进行了实现,以下是这周实现的类图: 二.项目进展 目前已经将所有代码都编写完成,正在进行整体测试.虽然期间遇到了一些问题,但我们一起进行了讨论,并查找了 ...
- #C++初学记录(动态规划 被3整除的子序列)
原题:牛客网 动态规划dynamic programming 的入门级题目 题目描述 : 给你一个长度为50的数字串,问你有多少个子序列构成的数字可以被3整除 答案对1e9+7取模 输入描述: 输入一 ...
- 【CS224n】Lecture8 Notes
注:这是2017年课程的lecture8.一直都在用RNN,但是对它内部的构造不甚了解,所以这次花了一个下午加一个晚上看了CS224n中关于RNN的推导,不敢说融会贯通,算是比以前清楚多了.做个笔记, ...
- SSL 安全协议 以及 如何认证
目录 ssl安全协议 以及 认证 什么是协议 http劫持 ssl是什么 ssl 证书 概念 3种类型ssl 证书 ssl认证:阿里云免费认证 配置 Nginx的ssl认证 nginx的ssl证书(一 ...
- Nginx简单配置几个基于端口的虚拟主机
nginx.conf中,一个server段对应一个虚拟主机,如果要增加多个虚拟主机,增加多个server段即可. server { listen ; access_log logs/.log; loc ...
- Software Engineering Continuous Integration Eclipse Mylyn
- ajax发送json数据时为什么需要设置contentType: "application/json”
1. ajax发送json数据时设置contentType: "application/json”和不设置时到底有什么区别?contentType: "application/js ...
- App installation failed (A valid provisioning profile for this executable was not found)
真机调试build success ,App installation failed (A valid provisioning profile for this executable was not ...