安装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 "[email protected]"
通过浏览器访问gitlab,进入到Settings-SSH Keys,将公钥(.pub)文件内容添加上去。
创建本地SVN目录
mkdir /data/svn/xxx
cd /data/svn/xxx
初始化git全局设置
git config --global user.name "Administrator"
git config --global user.email "[email protected]"
将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 = "李明" <[email protected]>
xiaoming = "张×××" <[email protected]>
ceshi = "测试" <[email protected]>
………………
将本地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 [email protected]:xxx/xxx.git
将本地数据推送到远程仓库上
git push -u origin --all
原文地址:https://blog.51cto.com/andyxu/2427321
时间: 2024-10-10 15:27:34