一种svn分支优化方法及其系统技术方案

技术编号:35826925 阅读:16 留言:0更新日期:2022-12-03 13:54
本发明专利技术提供了一种svn分支优化方法及其系统,所述方法包括如下步骤:步骤S1、设置代理进程,客户端通过git与代理进程进行通信;步骤S2、代理进程获取源码时,通过git clone地址命令调用代理进程,代理进程把svn所有历史记录转换为git资源库的格式,创建git本地仓库1;步骤S3、通过调用创建分支的命令创建本地svn的分支;步骤S4、推送svn的分支到服务器;步骤S5、代理进程建立git代理仓库1,将分支先保存到本地git代理仓库1;再将git代理仓库1的文件提交到svn的对应目录,从而对分支进行优化,本发明专利技术减少svn服务器空间的占用。减少svn服务器空间的占用。减少svn服务器空间的占用。

【技术实现步骤摘要】
一种svn分支优化方法及其系统


[0001]本专利技术涉及计算机通讯
,特别是一种svn分支优化方法及其系统。

技术介绍

[0002]现有技术中项目需要用到svn分支

合并。比如项目demo下有两个小组,svn下有一个trunk版。由于客户需求突然变化,导致项目需要做较大改动,此时项目组决定由小组1继续完成原来正进行到一半的工作(某个模块),小组2进行新需求的开发。那么此时,就可以为小组2建立一个分支,分支其实就是trunk版(主干线)的一个copy版,不过分支也是具有版本控制功能的,而且是和主干线相互独立的,当然,到最后可以通过合并功能,将分支合并到trunk上来,从而最后合并为一个项目。
[0003]目前svn创建分支需要将所有文件复制一份,如果源码文件特别大,文件特别多,创建会导致很多的资源浪费,并且等待时间也很长。这样不仅服务端响应慢,而且也影响了客户的体验。
[0004]SVN的全称是Subversion,即版本控制系统。Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。另外,Git也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。

技术实现思路

[0005]为克服上述问题,本专利技术的目的是提供一种svn分支优化方法,提升了svn创建分支的效率,减少svn服务器空间占用。
[0006]本专利技术采用以下方案实现:一种svn分支优化方法,所述方法包括如下步骤:
[0007]步骤S1、设置代理进程,客户端通过git与代理进程进行通信;
[0008]步骤S2、代理进程获取源码时,通过git clone地址命令调用代理进程,代理进程把svn所有历史记录转换为git资源库的格式,创建git本地仓库1;
[0009]步骤S3、通过调用创建分支的命令创建本地svn的分支;
[0010]步骤S4、推送svn的分支到服务器;
[0011]步骤S5、代理进程建立git代理仓库1,将分支先保存到本地git代理仓库1;再将git代理仓库1的文件提交到svn的对应目录,从而对分支进行优化。
[0012]进一步的,所述方法还包括:步骤S6、获取svn的分支代码时,先从svn对应目录获取git代理仓库1文件,再将git代理仓库1的分支同步到git本地仓库1。
[0013]进一步的,步骤S2进一步具体为:代理进程获取源码时,通过使用git proxy clone svn://ip/项目名称的命令调用代理进程,代理进程从svn://ip/项目名称的第一个版本开始拉取,直到最新版本,以git资源库的格式保存到本地的/proxy.db/目录下;创建git本地仓库1。
[0014]本专利技术还提供了一种svn分支优化系统,所述系统包括:通信模块、记录转换模块、创建分支模块、推送模块、以及分支保存处理模块;
[0015]所述通信模块,设置代理进程,客户端通过git与代理进程进行通信;
[0016]所述记录转换模块,在代理进程获取源码时,通过git clone地址命令调用代理进程,代理进程把svn所有历史记录转换为git资源库的格式,创建git本地仓库1;
[0017]所述创建分支模块,通过调用创建分支的命令创建本地svn的分支;
[0018]所述推送模块,推送svn的分支到服务器;
[0019]所述分支保存处理模块,通过代理进程建立git代理仓库1,将分支先保存到本地git代理仓库1;再将git代理仓库1的文件提交到svn的对应目录,从而对分支进行优化。
[0020]进一步的,所述系统还包括数据获取模块,所述数据获取模块,获取分支代码时,先从svn对应目录获取git代理仓库1文件,再将git代理仓库1的分支同步到git本地仓库1。
[0021]进一步的,所述记录转换模块进一步具体为:代理进程获取源码时,通过使用git proxy clone svn://ip/项目名称的命令调用代理进程,代理进程从svn://ip/项目名称的第一个版本开始拉取,直到最新版本,以git资源库的格式保存到本地的/proxy.db/目录下;创建git本地仓库1。
[0022]本专利技术的有益效果在于:提升了svn创建分支的效率,减少svn服务器空间占用,加快了分支创建的速度。
附图说明
[0023]图1是本专利技术的方法流程示意图。
[0024]图2是本专利技术的系统的工作原理框图。
具体实施方式
[0025]下面结合附图对本专利技术做进一步说明。
[0026]请参阅图1所示,本专利技术的一种svn分支优化方法,所述方法包括如下步骤:
[0027]步骤S1、设置代理进程,客户端通过git与代理进程进行通信;
[0028]步骤S2、代理进程获取源码时,通过git clone地址命令调用代理进程,代理进程把svn所有历史记录转换为git资源库的格式,创建git本地仓库1;
[0029]步骤S3、通过调用创建分支的命令(命令如:“git proxy branch xx本地分支”)创建本地svn的分支;
[0030]步骤S4、推送svn的分支到服务器,如:“git proxy pushorigin xx本地分支:xx服务器分支”;
[0031]步骤S5、代理进程建立git代理仓库1,将分支先保存到本地git代理仓库1;再将git代理仓库1的文件提交到svn的对应目录(即代理进程会将文件按照git资源库方式保存一份在本地另外一个目录/proxy.db/;然后提交到svn时候,也是把/proxy.db/下的所有文件提交到svn上,例如提交到/svn/proxy.db/...),从而对分支进行优化。
[0032]步骤S6、获取svn的分支代码时,先从svn对应目录获取git代理仓库1文件,再将git代理仓库1的分支同步到git本地仓库1。
[0033]下面结合一具体实施例对本专利技术做进一步说明:
[0034]本专利技术的一种svn分支优化方法,所述方法包括如下步骤:1.设置代理进程,客户端通过git与代理进程通信。
[0035]例如:原来的git+参数命令,就改为使用git proxy+参数,这样就通过代理进程来通信
[0036]2.代理进程获取源码时,通过gitp roxy clone地址调用代理进程,代理进程把svn所有历史记录转换为git资源库(即:通过按照路径逐个递归获取svn的变更集,写入到git资源库中作为git的提交;例如:版本1新增文件1.txt;版本2修改文件1.txt;按照版本将svn提交时间和svn提交人,修改的文件记录保存到git仓库),创建git本地仓库1;
[0037]例如:使用git proxy clone svn://192.168.1.1/project1时,代理进程从svn://192.168.1.1/project1的第一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种svn分支优化方法,其特征在于:所述方法包括如下步骤:步骤S1、设置代理进程,客户端通过git与代理进程进行通信;步骤S2、代理进程获取源码时,通过git clone地址命令调用代理进程,代理进程把svn所有历史记录转换为git资源库的格式,创建git本地仓库1;步骤S3、通过调用创建分支的命令创建本地svn的分支;步骤S4、推送svn的分支到服务器;步骤S5、代理进程建立git代理仓库1,将分支先保存到本地git代理仓库1;再将git代理仓库1的文件提交到svn的对应目录,从而对分支进行优化。2.根据权利要求1所述的一种svn分支优化方法,其特征在于:所述方法还包括:步骤S6、获取svn的分支代码时,先从svn对应目录获取git代理仓库1文件,再将git代理仓库1的分支同步到git本地仓库1。3.根据权利要求1所述的一种svn分支优化方法,其特征在于:步骤S2进一步具体为:代理进程获取源码时,通过使用git proxy clone svn://ip/项目名称的命令调用代理进程,代理进程从svn://ip/项目名称的第一个版本开始拉取,直到最新版本,以git资源库的格式保存到本地的/proxy.db/目录下;创建git本地仓库1。4.一种svn分支优化系统,其特征在于:所述系统包括:通信模块、记录...

【专利技术属性】
技术研发人员:刘德建陈丛亮李佳
申请(专利权)人:福建天晴在线互动科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1