centos上 svn迁移到gitlab

1. 安装svn2git工具(自己找一台服务器)

#安装svn2git。在所有系统上,如果您已经安装了Ruby和Git,您可以将它们安装为Ruby gem。

gem install svn2git

2. svn库中导出作者文件authors.txt

#准备一个作者文件,以便svn2git将SVN作者映射到Git作者。如果您选择不创建作者文件,则提交不会归因于正确的GitLab用户。有些用户可能不认为这是一个大问题,而另一些用户则希望确保他们完成这一步骤。如果您选择映射作者,则需要将存在于SVN存储库中的更改的每个作者映射。如果你不这样做,转换将失败,你将不得不相应地更新作者文件。以下命令将搜索存储库并输出作者列表。

#如果有svn的账号和密码自己添加一下 --user --password

#这一步会将你项目中的作者记录下来输出
svn log  https://svn.testcompany.com/svn/company/dev --quiet | grep -E "r[0-9]+ \| .+ \|" | cut -d‘|‘ -f2 | sed ‘s/ //g‘ | sort | uniq  >/tmp/authors.txt

#使用最后一条命令的输出来构建作者文件。创建一个名为的文件,authors.txt并为每行添加一个映射。
vim /tmp/authors.txt

janedoe = Jane Doe <[email protected]>
johndoe = John Doe <[email protected]>
alexdoe = Alex Doe <[email protected]>

3. 如果你的SVN仓库是标准格式(中继,分支,标签,而不是嵌套),转换很简单。有关非标准存储库,请参阅

#svn2git文档  https://github.com/nirvdrum/svn2git 。以下命令将检出存储库并在当前工作目录中执行转换。确保在运行该svn2git命令之前为每个存储库创建一个新目录。转换过程需要一些时间。

#创建一个目录测试拉取转换效果
mkdir /data/Repository/test1 -p

cd /data/Repository/test1

#老样子,如果需要用户和密码 加入参数 --user --password
svn2git https://svn.testcompany.com/svn/company/dev --authors /tmp/authors.txt

4. 创建一个新的GitLab项目,您最终将推送您的转换后的代码。从项目页面复制SSH或HTTP(S)存储库URL。将GitLab存储库添加为Git远程并推送所有更改。这将推动所有提交,分支和标签。

#gitlab上自己创建一下测试组,和项目目录,然后执行下面上传指令

git remote add origin [email protected]:test/development.git
git push --all origin
git push --tags origin

5.大佬们如果有问题,记得提出来,要分享

原文地址:http://blog.51cto.com/linux1991/2087273

时间: 2024-10-10 16:01:23

centos上 svn迁移到gitlab的相关文章

SVN迁移到gitlab

安装git和SVN客户端 yum install -y git subversion git-svn 开启sshd密钥验证方式 sed -i '/^AuthorizedKeysFile/s/^/#/g' /etc/ssh/sshd_config sed -i '/AuthorizedKeysFile/a\AuthorizedKeysFile .ssh/id_rsa.pub' /etc/ssh/sshd_config 创建SSH密钥对,使用gitlab的root用户 ssh-keygen -t e

CentOS上 svn客户端的安装及应用

1. 安装svn客户端 yum install subversion -y 2. svn客户端常用命令 #2.1 将文件checkout到本地目录 svn checkout remote_path local_path //简写:svn co #2.2 往版本库中添加新的文件 svn add file.php #2.3 将改动的文件提交到版本库 svn commit -m "add test.php" test.php //简写:svn ci #2.4 加锁/解锁 svn lock -

linux下SVN迁移

将192.168.8.xxx 上的svn迁移到另外一台机器上 svn迁移步骤如下:1.将原来的Repository导出为一个文件,在/u01/svn/repo/db目录下svnadmin dump /u01/svn/repo> /u01/backup这里说明下/u01/svn/repo是我svn库存放的地址.2.使用scp把repo传输到要新服务器上scp /u01/backup [email protected]:/u01/3.在新服务器上配置相同svn环境(当然,前提是这个新的服务器已经装了

SVN迁移Gitlab步骤

概述 公司要求将之前使用SVN进行管理的项目迁移到Gitlab进行项目管理,但是运维连不上我们这边的SVN服务器,于是我们就得自己将SVN项目迁移到Gitlab.Yeah!终于有我表现的机会了. 要求保留SVN上的提交记录 总体的执行步骤如下: 账号对应 git-svn拉取原来SVN项目 提交项目到Gitlab上 执行步骤 接下来我们就要进行转换了. 账号对应 SVN使用的是用户账号展示的提交记录,但是git使用的是账号和邮箱进行人员确认的,因此我们需要使用将二者进行对应. 新建个txt文本文档

Centos 5.8 svn迁移

svn迁移挺简单的,以前老是去网上找,现在自己写一个就当做个记录了. 原创博文来自:www.51niux.com  博主:忙碌的柴少 1. 在要迁移服务器搭建环境一致的svn服务,我们是yum安装的,我这里就省事了 yum install subversion -y 2. 在迁移端将svn库导出来,我的库比较多所以走了一个for循环,这里就以一个库举例吧 svnadmin dump  /data/sns/repo/Admanager >/backup/svnbackup/Admanager #我

将代码库从 SVN 迁移至 Git 并保留所有 commit 记录

公司内部原本使用 SVN 进行版本控制,但随着 Github 的流行我个人的代码管理习惯逐渐转变.虽然公司项目并非开源,SVN 所具有的标准 trunk / branches / tags 结构完全够用,使用 Git 仍然有如下优势: 类似 GitHub 的 GitLab 免费管理工具.将代码托管在自己内部服务器上的同时,提供了优美的 web 界面,图形化分支结构,更直观的代码审查,统计.issue 系统.wiki 等功能全面集成. 更方便主程做 code review,控制代码质量.创建主仓库

坑死人不偿命,svn 迁移到 git

用git的人非常鄙视用svn的.因为要不断的开分支.而且也没有本地的分支这个概念. 但是git 作为一项技术,是一定可以被svn替代的.当然替代的方法是否繁琐另当别论,但一定是能被替代.svn同样也能被git替代.大概所有的技术都是一样.都能相互替代,只是你要为替代本身花费多长时间. git作为一种同步工具好用吗?其实真不好用.我梦想的工具一定是可以帮我自动完成merge过程的,永远不用开分支,永远不用告诉我链表头在哪里,以及怎么reset, 什么时候rebase, 什么时候打tag. 一个工具

svn迁移到git

最近需要将项目从svn迁移到git,至于原因请忽略,至于svn与git区别优劣请自行百度.一共有两种方式可行: 第一种方式较为常见,但是会丢失之前svn版本提交记录,就是将svn checkout到本地然后上传到git上 详情参见:http://blog.csdn.net/hanhailong726188/article/details/46738929 第二种方式较为复杂,但是可以保留之前svn版本提交记录,执行命令如下: git svn clone https://172.16.0.241:

在CentOS上把MySQL从5.5升级到5.6(转)

http://www.th7.cn/db/mysql/201408/66064.shtml 在CentOS上把MySQL从5.5升级到5.6 摘要:本文记录了在CentOS 6.3上,把MySQL从5.5.28升级到5.6.19的过程. 1. 概述 在我做的一个项目中,最近我对生产服务器上的一系列系统软件进行了升级,包括git.nginx.MySQL和PHP.这篇文章讲的是升级MySQL的过程,其他软件的升级将在其他文章中介绍. 在我加入这个项目之前,网络服务器MySQL已经安装设置好了,我只是