代码自动合并方法和系统技术方案

技术编号:11203948 阅读:119 留言:0更新日期:2015-03-26 12:01
本发明专利技术提供一种代码自动合并方法和系统,该方法包括如下步骤:接收新修改的代码文件;其中,所述新修改的代码文件中记录有代码的修改位置、修改时间和合并路径;根据所述合并路径查找待合并的代码文件;按照所述修改位置对应的修改时间的先后顺序,将所述修改位置对应的代码合并到所述待合并的代码文件中,获得更新后的代码文件。本发明专利技术能快速自动地对代码进行合并,合并过程无须人工参与,合并效率高。

【技术实现步骤摘要】

本专利技术涉及代码处理
,特别是涉及一种代码自动合并方法,以及一种代码自动合并系统。
技术介绍
目前在进行开发时,当某一个版本具备上线条件后,需要在上一个已发布的版本基础上进行发布,才能够避免出现版本相互覆盖,因此往往需要对版本之间的代码进行合并。传统技术中经常是人工操作第三方合并工具进行代码合并。例如,TortoiseSVN是Subversion版本控制系统的一个客户端,利用该工具,人工操作合并代码的步骤为checkout(检出代码到本地)、merge(合并指定代码到本地)、commit(提交代码到版本库)、remark(备注提交信息)。这种方式的缺点是:由于系统因代码库庞大数据量,检索耗时和传输问题等导致速度操作速度缓慢;需专业人员或者经过一定的培训后才懂得使用。操作步骤繁琐,需按一定的顺序完成一系列的操作,并且人工操作执行效率低、操作步骤繁琐,人为操作易导致代码合并错误、遗漏、低效等问题。
技术实现思路
基于此,本专利技术提供一种代码自动合并方法和系统,能快速自动地对代码进行合并,合并过程无须人工参与,合并效率高。一种代码自动合并方法,包括如下步骤:接收新修改的代码文件;其中,所述新修改的代码文件中记录有代码的修改位置、修改时间和合并路径;根据所述合并路径查找待合并的代码文件;按照所述修改位置对应的修改时间的先后顺序,将所述修改位置对应的代码合并到所述待合并的代码文件中,获得更新后的代码文件。一种代码自动合并系统,包括:接收模块,用于接收新修改的代码文件;其中,所述新修改的代码文件中记录有代码的修改位置、修改时间和合并路径;第一查找模块,用于根据所述合并路径查找待合并的代码文件;第一合并模块,用于按照所述修改位置对应的修改时间的先后顺序,将所述修改位置对应的代码合并到所述待合并的代码文件中,获得更新后的代码文件。上述代码自动合并方法和系统,接收用户提交的新修改的代码文件,由于代码文件中记录有代码的修改位置、修改时间和合并路径,可根据合并路径查找到待合并的代码文件,接着根据所述修改位置对应的修改时间的先后顺序,将所述修改位置对应的代码合并到所述待合并的代码文件中,从而获得更新后的代码文件;本专利技术根据提交的合并路径查找到对应的待合并代码文件,可根据修改位置和修改时间实现代码的自动合并,无需人工参与,代码合并速率较高。附图说明图1为本专利技术代码自动合并方法在第一实施方式中的流程示意图。图2为本专利技术代码自动合并方法在第四实施方式中获取开始合并的版本号及结束合并的版本号的界面示意图。图3为本专利技术代码自动合并系统在第一实施方式中的结构示意图。具体实施方式下面结合实施例及附图对本专利技术作进一步详细说明,但本专利技术的实施方式不限于此。如图1所示,是本专利技术一种代码自动合并方法在第一实施方式中的流程示意图,包括如下步骤:S11、接收新修改的代码文件;其中,所述新修改的代码文件中记录有代码的修改位置、修改时间和合并路径;S12、根据所述合并路径查找待合并的代码文件;S13、按照所述修改位置对应的修改时间的先后顺序,将所述修改位置对应的代码合并到所述待合并的代码文件中,获得更新后的代码文件;本实施例的代码自动合并方法,接收用户提交的新修改的代码文件,由于代码文件中记录有代码的修改位置、修改时间和合并路径,可根据合并路径查找到待合并的代码文件,接着根据所述修改位置对应的修改时间的先后顺序,将所述修改位置对应的代码合并到所述待合并的代码文件中,从而获得更新后的代码文件;本实施例根据提交的合并路径查找到对应的待合并代码文件,可根据修改位置和修改时间实现代码的自动合并,无需人工参与,代码合并速率较高。对于步骤S11、接收新修改的代码文件;其中,所述新修改的代码文件中记录有代码的修改位置、修改时间和合并路径;当用户修改代码文件时,实时记录代码文件中代码的修改位置和修改时间,同时记录该新修改的代码文件的合并路径;所述合并路径,可为版本库中某一域名下的分支路径,版本库中保存有所有的代码文件,按照不同的项目分类,对应不同的域名,每个域名下对应有多个分支,每个分支下储存相应的代码文件。对于步骤S12、根据所述合并路径查找待合并的代码文件;根据新修改的代码文件中指定的合并路径,从版本库中查找对应的待合并的代码文件;本实施例中,待合并的代码文件无需在用户的本地端处理,相对现有技术,可显著减少处理流程。对于步骤S13、按照所述修改位置对应的修改时间的先后顺序,将所述修改位置对应的代码合并到所述待合并的代码文件中,获得更新后的代码文件;本实施例中,对于新修改的代码文件,可能有多个不同的修改位置,新修改的代码文件由于记录了各个修改位置对应的修改时间,在合并时,根据各个修改位置对应的修改时间的先后顺序进行代码文件的合并,将所述修改位置对应的代码合并到所述待合并的代码文件中,获得更新后的代码文件。以下是本专利技术一种代码自动合并方法的第二实施方式,本实施方式与第一实施方式的区别在于:所述修改位置为所述新修改的代码文件的修改行的行号;所述将所述修改位置对应的代码合并到所述待合并的代码文件中的步骤包括:将所述新修改的代码文件中所述行号对应的代码,与所述待合并的代码文件中所述行号对应的代码进行对比;若两者不同,则将所述新修改的代码文件中所述行号对应的代码覆盖掉所述待合并的代码文件中所述行号对应的代码;本实施例中,所述修改位置为新修改的代码文件中修改行的行号;通过记录被修改的代码所在的行号,能精确地记录代码文件的修改位置;在合并时,首先根据修改行的行号,对比在新修改的代码文件该行号的代码和待合并的代码文件中该行号对应的代码,两者不同,则表示该行的代码修改过,将其覆盖掉所述待合并的代码文件中所述行号对应的代码,完成代码文件合并的过程;本实施例通过记录修改行的行号,可精确地实现代码的合并,减少代码文件合并的错误率。以下是本专利技术一种代码自动合并方法的第三实施方式,本实施方式与第一实施方式的区别在于:所述接收提交的新修改的代码文件的步骤包括:从Subversion版本控制系统接收所述新修改的代码文件,通过所述Subversion版本控制系统获得所述修改位置和修改时间,并将所述修改位置和修改时间添加到所述新修改的代码文件中;本实施例的代码文件的修改,通过Subversion版本控制系本文档来自技高网...

【技术保护点】
一种代码自动合并方法,其特征在于,包括如下步骤:接收新修改的代码文件;其中,所述新修改的代码文件中记录有代码的修改位置、修改时间和合并路径;根据所述合并路径查找待合并的代码文件;按照所述修改位置对应的修改时间的先后顺序,将所述修改位置对应的代码合并到所述待合并的代码文件中,获得更新后的代码文件。

【技术特征摘要】
1.一种代码自动合并方法,其特征在于,包括如下步骤:
接收新修改的代码文件;其中,所述新修改的代码文件中记录有代码的修
改位置、修改时间和合并路径;
根据所述合并路径查找待合并的代码文件;
按照所述修改位置对应的修改时间的先后顺序,将所述修改位置对应的代
码合并到所述待合并的代码文件中,获得更新后的代码文件。
2.根据权利要求1所述的代码自动合并方法,其特征在于,所述修改位置
为所述新修改的代码文件中修改行的行号;
所述将所述修改位置对应的代码合并到所述待合并的代码文件中的步骤包
括:
将所述新修改的代码文件中所述行号对应的代码,与所述待合并的代码文
件中所述行号对应的代码进行对比;
若两者不同,则将所述新修改的代码文件中所述行号对应的代码覆盖掉所
述待合并的代码文件中所述行号对应的代码。
3.根据权利要求1或2所述的代码自动合并方法,其特征在于,所述接收
提交的新修改的代码文件的步骤包括:
从Subversion版本控制系统接收所述新修改的代码文件,通过所述
Subversion版本控制系统获得所述修改位置和修改时间,并将所述修改位置和修
改时间添加到所述新修改的代码文件中。
4.根据权利要求3所述的代码自动合并方法,其特征在于,所述新修改的
代码文件中还记录有版本号;所述方法还包括步骤:
获取开始合并的版本号及结束合并的版本号;
在接收的新修改的代码文件中查找从所述开始合并的版本号到结束合并的
版本号之间对应的所有新修改的代码文件;
根据所述版本号的排列顺序,按照所述修改位置对应的修改时间的先后顺
序,将所述修改位置对应的代码合并到所述待合并的代码文件中,获得更新后
的代码文件。
5.一种代码自动合并系统,其特征...

【专利技术属性】
技术研发人员:苏青章陈武锋
申请(专利权)人:广州唯品会信息科技有限公司
类型:发明
国别省市:广东;44

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

1