SVN 轉移至 GITLAB

長久以來公司專案類型一直都是使用 SVN 在做其版本控制,在不是經常變更的專案,以及開發人員不多的情況下,使用 SVN 綽綽有餘,但在上線流程較不方便,故導入 GITLAB,做其轉換。

於 GITLAB 上建立新項目(Project)

匯出 svn 中所有 commit人員 的資訊

svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"}' | sort -u > users.txt

將 svn 帳號 與 gitlab帳號 做對應
格式為 svn account = git account<git account’s email>,範例如下:

dio = dio<dio@gmail.com>
bluce = blucelin<bluce@yahoo.com.tw>

git svn clone
使用 git 指令將專案從 svn clone 下來

git svn clone https://svn.mydomain/amz/selenium-center/ --trunk="trunk" --tags="tags" --branches="branches" --authors-file=amz-selenium-center/users.txt --no-metadata selenium-center

git remote
剛剛所 clone 的專案,將其 remote 來源設定為 gitlab 所建立的來源位置

git remote add origin git@gitlab.mydomain.com:amz/selenium-server.git

將 trunk、branches 等資料上傳至 gitlab

git push origin maste