美文网首页
SVN 项目迁移到GIT

SVN 项目迁移到GIT

作者: 搁浅的三刀流zoro | 来源:发表于2019-11-25 11:49 被阅读0次

    为了统一、规范开发流程,以及CICD的推进,将SVN整体迁移至git环境,需要将历史记录同步到git

    本文参考了以下链接
    https://blog.csdn.net/ouyang_peng/article/details/80372805
    https://www.cnblogs.com/goodwell21/p/10044818.html

    主要分三步

    1.svn用户映射
    到svn工程目录下执行命令
    svn log --xml | grep "^<author" | sort -u | \awk -F '<author>' '{print 2}' | awk -F '</author>' '{print1}' > userinfo.txt

    获取当前项目的用户,然后每一天修改为以下格式
    malone=malone< malone@123.cc>

    userinfo.txt.png

    新建个文件夹,把userinfo.txt拷贝过来(项目过多的话此过程不需要重复完成,执行一遍后,将所有用户名称都写到此txt中可重复利用

    2.git svn clone
    在上userinfo.txt目录执行命令
    git svn clone http://malone@svn.test.cc:8011/svn/sdk_dev/iOS/AutoTest-iOS GitProject --authors-file=userinfo.txt --no-metadata(svn copy URL获取地址)
    等待执行完成后,进入GitProject目录,执行git log 确定git成功

    3.push到git
    先在git/gitlab新建项目
    git remote add origin git@gitlab.1223.com:sdk/autotest-ios.git
    git remote -v(执行确定添加成功)
    git push origin --all (执行成功后到git/gitlab页面刷新看看是否成功,查看历史页面是否同步成功)

    错误:
    1.执行git push origin --all 时出现错误
    fatal: 'origin' does not appear to be a git repository
    fatal: Could not read from remote repository.
    Please make sure you have the correct access rights
    and the repository exists
    解决办法: 先执行git remote add origin git@gitlab.1223.com:sdk/autotest-ios.git命令

    2.Author: ** not defined in users.txt file
    1)是由于userinfo.txt文件格式有误,应该为 malone= malone < malone@tests.cc>
    2)是userinfo.txt真的少了该用户的配置(修改后记得删除git的目录 再执行命令)

    相关文章

      网友评论

          本文标题:SVN 项目迁移到GIT

          本文链接:https://www.haomeiwen.com/subject/fzpdwctx.html