1. git svn clone 命令

  1. 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

参数说明:

  1. r: 指定起止版本号
  2. no-metadata: 阻止git导出svn的无用信息
  3. authors-file: 必须指定svn账号在git中的映射
  4. trunk: 指定导出仓库的主干项目路径
  5. 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