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 "[email protected]"

通過瀏覽器訪問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 "[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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章