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 ed25519 -C "admin@example.com"

通过浏览器访问gitlab,进入到Settings-SSH Keys,将公钥(.pub)文件内容添加上去。
SVN迁移到gitlab
创建本地SVN目录

mkdir /data/svn/xxx
cd /data/svn/xxx

初始化git全局设置

git config --global user.name "Administrator"
git config --global user.email "admin@example.com"

将SVN仓库checkout到本地

svn checkout --username liming --password liming123456 http://192.168.2.250:9999/svn/xxx ./

保留原SVN仓库的Commit等历史记录,以便获取SVN使用的作者名字列表

svn co --username liming --password liming123456 http://192.168.2.250:9999/svn/xxx  code
cd code/

将日志以xml格式输出,然后保留作者信息行、去除重复、去除 XML 标记,将输出重定向到txt文件中

svn log --xml | grep author | sort -u | perl -pe 's/.*>(.*?)<.*/$1 = /' > /root/users.txt

修改txt文件,将SVN账号和gitlab账号用=号一一对应起来
vim /root/users.txt

liming = "李明" <liming@xxxxxxxx.com>
xiaoming = "张×××" <xiaoming@xxxxxxxxx.com>
ceshi = "测试" <ceshi@xxxxxxxxx.com>
………………

将本地SVN仓库转换为git仓库

git svn clone http://192.168.2.250:9999/svn/xxx  --authors-file=/root/users.txt  --no-metadata  my_project

添加远程仓库地址,将本地仓库和远程仓库建立联接

cd my_project/
git remote add origin git@192.168.2.210:xxx/xxx.git

将本地数据推送到远程仓库上

git push -u origin --all
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值