1. git svn clone 命令
git svn clone https:/172.16.0.177:8443/svn/xxx -r 76896:HEAD --no-metadata --authors-file=/home/fred/svnuser.txt --trunck=svnproject --branchs=svnbranch yourGitProject
参数说明:
- r: 指定起止版本号
- no-metadata: 阻止git导出svn的无用信息
- authors-file: 必须指定svn账号在git中的映射
- trunk: 指定导出仓库的主干项目路径
- branches: 指定svn的分支项目路径
clone命令需要root权限,切换到root在执行
2.使用案例
# 下载需要的依赖
sudo apt install -y git subversion git-svn
# 1.在svn的文件中,修改下内容
#svn co --username xxx --password xxx http://172.16.1.177/svn/xxx/source/java/platform/alarm_center/trunk patrol/alarm-center
# 2.导出上传文件的记录
svn log http://172.26.1.177/svn/QIF_RD/project/IoT/source/java/platform/deviceSysData/trunk -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2"="$2" <"$2"@qq.com>"}' | sort -u > /home/qif/version-ctl/v1.txt
# 3.修改v1.txt的用户消息
svn用户 = GitLab用户<GitLab用户邮箱>
# 4.将svn转存到gitlab
git svn clone http://172.16.1.177/svn/QIF_RD/project/IoT/source/java/platform/deviceSysData/trunk --authors-file=/home/qif/version-ctl/usr.text --no-metadata patrol/v1
git remote add origin http://172.26.1.145/pro/software/devlib/software_products_RD/dev/dept_xj/as-center/src/java/v1.git
git push -u origin master
git remote remove origin