部署安装
下载代码
例如:
svn checkout http://svn.konka.com/svn/portal/KKUpgradeServer
获取所有提交人的账号名称
Dean@jenkins_6_10:~/sources/KKUpgradeServer$ cd KKUpgradeServer
# 获取账号信息,打印到userinfo.txt中
Dean@jenkins_6_10:~/sources/KKUpgradeServer$ svn log --xml | grep "^<author" | sort -u | awk -F '<author>' '{print $2}' | awk -F '</author>' '{print $1}' > userinfo.txt
# 打印userinfo.txt(隐私关系,仅打印我自己)
Dean@jenkins_6_10:~/sources/KKUpgradeServer$ cat userinfo.txt
Dean
设置账号映射关系
格式:用户名=用户名 <邮箱>
gongjianjun@jenkins_6_10:~/sources/KKUpgradeServer$ cat userinfo.txt
gongjianjun=gongjianjun <gongjianjun@konka.com>
svn转换git
若代码仓库无需转换分支,则直接使用以下命令,其中:
①:-r 2466:HEAD :转换从代码仓库的第2466次提交 =》 最新的提交
②:–authors-file :指定刚才账号映射关系文件
git svn clone -r 2466:HEAD "http://svn.konka.com/svn/A_ChildrenLock/" --no-metadata --no-minimize-url --authors-file="userinfo.txt" A_ChildrenLock
若代码仓库需要转换分支,则使用以下命令,其中:
①:–trunk :指定目录为转换后的master分支,使用该命令后,转换后的代码仓库目录结构为该目录下的目录结构
②:–branch:扫描指定目录下的分支文件夹,使该文件夹为git的分支branch
③:–tags:由于测试i项目没有tag,因此转换后未生成tag
git svn clone -r 1:HEAD "http://svn.konka.com/svn/A_ChildrenLock/" --authors-file="A_ChildrenLock_userinfo.txt" --no-metadata --trunk=sourcecode/trunk/ChildrenLock3.1-TNT --branches=sourcecode/trunk --tags=sourcecode/tags A_ChildrenLock --no-minimize-url
提交代码
转换后,git branch查看当前目录所有分支,如下图所示:
注意:转换后的分支可能较多,因此需要查看原svn仓库branch的目录结构,选择性的提交分支,如:推送【ChildrenLock2.0】分支
# 切换分支为remotes/origin/ChildrenLock2.0,并命名本地分支名为ChildrenLock2.0
git checkout remotes/origin/ChildrenLock2.0 -b ChildrenLock2.0
# 强制推送当前分支
推送分支
git push -u origin --all -f
重复【切换分支,推送】操作,即可迁移成功
© 版权声明
本站文章由不念博客原创,未经允许严禁转载!
THE END