美文网首页
svn同步到git

svn同步到git

作者: 我来不来 | 来源:发表于2017-01-19 10:30 被阅读0次

开发的代码放在svn,但是svn推送分支的代价太高了,每个分支目录都是一次全拷贝,所以写了个脚本把svn分支转化为git分支,然后用git发布。

#!/bin/bash
name=$1
version=$2
svnurl=https://svnserver/svn/source/${name}/branches/${version}/
giturl=ssh://git@gitserver/group/${name}.git

gittmp=/data/git
mkdir -p ${gittmp}
svnsrc=/data/svntogit/${name}/${version}/
gitsrc=${gittmp}/${name}

if [ ! -d $svnsrc ];then
    mkdir -p $svnsrc
    cd $svnsrc
    svn co $svnurl  .
else
    cd $svnsrc
    svn co $svnurl .
fi
cd $gittmp
if [ ! -d ${gitsrc}/.git ];then
    rm -rf ${gitsrc}
    git clone $giturl
    cd ${gitsrc}
    git config --global core.autocrlf false
    git config --global core.safecrlf false
    git config core.autocrlf false
    git config core.safecrlf false
else
    cd ${name}
    git pull
fi

cd /data/svntogit
cd $name
cd ${version}
rsync -a --delete ${svnsrc}/ --exclude=.git ${gitsrc}/
cd ${gitsrc}
git add --all .
git commit -a -m "new tag $version"
git push origin master
branch=$(git branch | grep b_${version})
if [ -n "$branch" ]; then
    git branch -d b_${version}
fi
git checkout -b b_${version}
git push origin b_${version}
git checkout master
tag=$(git tag | grep t_${version})
if [ -n "$tag" ]; then
    echo echo "exits"
else
    git tag t_${version}
    git push origin t_${version}
fi

相关文章

  • svn同步到git

    开发的代码放在svn,但是svn推送分支的代价太高了,每个分支目录都是一次全拷贝,所以写了个脚本把svn分支转化为...

  • svn 代码同步到git

    旧项目需要从svn同步到gitlab,故记录一下操作1.打开本地备份指定路径,执行以下指令将svn项目拷贝到本地仓...

  • SVN 项目迁移到GIT

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

  • 关于git你需要知道的事

    *原文已同步到前端派 * 版本控制相信大家都不陌生,从CVS,到SVN,再到现在越来越受到重视的git。关于它们三...

  • 使用git管理svn项目

    git svn init http://xxxxxxx (svn co 的地址)git svn fetchgit ...

  • Android build.gradle 使用 Svn,Git

    Svn 读取Svn Revision Number 读取Svn日志 读取Svn Tag(不会) Git 读取Git...

  • SVN迁移Git

    参考:GIt - 迁移到Git 构建user.txt 关联svn用户和git用户。 用git svn导入svn库 ...

  • 删除项目里面所有.svn和.git 文件

    项目代码上传至svn/git后会产生.svn/.git文件,项目打包时需要将这些文件删除。 打开终端,cd到项目文...

  • 解决IntelliJ IDEA菜单栏VCS中找不到git菜单的问

    迁移前:svn项目迁移后:git项目操作过程:把文件copy到git目录下之后(不带.svn),使用IDEA打开项...

  • SUBGIT镜像远程SVN仓库到本地

    更改subgit配置 6.1. 编写hook为了使svn和Git仓库之间进行同步,Subgit 将如下hook装入...

网友评论

      本文标题:svn同步到git

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