一种合并冲突、冲突文件处理方法及装置的制造方法

文档序号:9708349阅读:213来源:国知局
一种合并冲突、冲突文件处理方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,尤其涉及一种合并冲突、冲突文件处理方法及装置。
【背景技术】
[0002]软件开发中,多个发布版本需要维护,或者多个平台变种需要支持,这些要求的解决就产生了分支的概念。分支是开发主线的副本,用于并行开发,在现有的软件开发工具中开发人员可以在各自的客户机中对所负责的分支进行开发、编写代码,当完成所负责的分支开发后可以与服务机的开发主线进行合并。在并行开发模式中,当多个分支合并时,可能产生冲突。
[0003]现有技术方案中一种解决方式是:开发人员在目标分支上解决冲突并提交后进入下一个分支的合并,分支的合并效率低;另一种解决方式是:开发人员暂不解决冲突,在目标分支上选择目标版本或来源版本提交后,由开发人员再进行冲突解决。
[0004]现有技术不足在于:
[0005]在目前的并行开发模式的分支合并过程中,在存在冲突的情况下,如果冲突解决不够及时,会影响到下个分支的合并。上述两种解决方案在发生合并冲突时,均需要在下一分支合并前就将当前分支的冲突解决掉,这样处理冲突的效率较低。

【发明内容】

[0006]本发明实施例提出了一种合并冲突、冲突文件处理方法及装置,解决了多分支合并场景中由于冲突缺陷导致的合并效率低等问题。
[0007]本发明实施例提供了一种合并冲突处理方法,包括如下步骤:
[0008]每次分支合并存在冲突时,发送获取冲突文件包请求,并在获取到冲突文件包后,继续下一分支合并,该冲突文件包为冲突文件的集合;
[0009]当确定要解决合并冲突时,根据冲突文件包进行冲突处理。
[0010]本发明实施例提供了一种冲突文件处理方法,包括如下步骤:
[0011]记录每次分支中存在冲突的冲突文件;
[0012]在收到获取冲突文件包请求后,发送冲突文件包,该冲突文件包为冲突文件的集入口 ο
[0013]本发明实施例提供了一种合并冲突处理装置,包括:
[0014]合并模块,用于每次分支合并存在冲突时,发送获取冲突文件包请求,并在获取到冲突文件包后,继续下一分支合并,该冲突文件包为冲突文件的集合;
[0015]处理模块,用于当确定要解决合并冲突时,根据冲突文件包进行冲突处理。
[0016]本发明实施例提供了一种冲突文件处理装置,包括:
[0017]记录单元,用于记录每次分支中存在冲突的冲突文件;
[0018]发送单元,用于在收到获取冲突文件包请求后,发送冲突文件包,该冲突文件包为冲突文件的集合。
[0019]有益效果如下:
[0020]依照本发明实施例所提供的技术方案,客户机在每次分支合并存在冲突时,服务机侧记录每次分支中存在冲突的冲突文件,客户机可以暂不解决冲突,只需要将冲突文件包提取出来即可进行下一分支的合并。只有当开发人员确定要解决冲突时,才根据冲突文件包进行冲突处理;因此,采用本发明所提供的技术方案,下一条分支的合并,不依赖上条分支的合并冲突解决,分支的合并可以连续处理,解决了现有技术中需要在上一分支处理完以后才能进行下一条分支合并导致的效率较低的问题,有效提高分支的合并效率。
【附图说明】
[0021]下面将参照附图描述本发明的具体实施例,其中:
[0022]图1示出了本发明实施例中合并冲突处理系统的架构示意图;
[0023]图2示出了本发明实施例中合并冲突处理方法的流程示意图;
[0024]图3示出了本发明实施例中冲突文件处理方法的流程示意图;
[0025]图4示出了本发明实施例中合并冲突解决实例的流程示意图;
[0026]图5示出了本发明实施例中解析冲突文件实例的流程示意图;
[0027]图6示出了本发明实施例中解决冲突实例的流程示意图;
[0028]图7示出了本发明实施例中合并冲突处理装置的结构示意图;
[0029]图8示出了本发明实施例中冲突文件处理装置的结构示意图。
【具体实施方式】
[0030]为了使本发明的技术方案及优点更加清楚明白,以下结合附图对本发明的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本发明的一部分实施例,而不是所有实施例的穷举。并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以互相结合。
[0031]发明人在发明过程中注意到:
[0032]在并行开发模式中,当存在多个分支时,若分支进行合并,可能会产生冲突,开发人员进行冲突解决时,需要对比2个分支文件进行处理。开发人员需要了解冲突文件的关系,使用冲突工具处理,解决过程中还可能造成冲突文件的遗漏,存在代码丢失的风险。另夕卜,对于历史的合并冲突也无法有效的记录和回溯。
[0033]针对上述不足,本发明实施例提出了一种合并冲突及冲突文件处理方法,下面进行说明。
[0034]本发明实施例提供的是一种分布式的合并冲突解决方法,依赖客户机和服务机,图1示出了本发明实施例合并冲突处理系统的结构示意图,如图所示,其中:
[0035]服务机,用于记录合并冲突包,合并冲突包中包含经自动解析的完整的冲突文件包,冲突文件包为所有冲突文件的集合;同时,服务机还可以用于记录冲突的解决情况;
[0036]其中,冲突文件包可以以列表的形式展现,也即冲突文件列表。当然,本领域技术人员还可以以其他形式进行展现,本发明对冲突文件包的具体展现形式不作限制。
[0037]客户机,用于分支合并,并提供冲突处理的用户界面。
[0038]图2示出了客户机侧合并冲突处理方法实施的流程示意图,如图所示,可以包括如下步骤:
[0039]步骤201、每次分支合并存在冲突时,发送获取冲突文件包请求,并在获取到冲突文件包后,继续下一分支合并,该冲突文件包为冲突文件的集合;
[0040]步骤202、当确定要解决合并冲突时,根据冲突文件包进行冲突处理。
[0041 ] 现有技术中已有的版本管理工具,对合并过程中产生的文件冲突的关系标识难以理解,若是解决过程中,对冲突文件的关系理解有误,存在代码丢失的风险。因此为了解决现有技术中冲突文件包难以理解的问题,本发明实施例还可以采用如下方式实施。
[0042]实施中,在每次分支合并存在冲突时,获取冲突文件包后,可以进一步包括:对获取到的冲突文件包进行解析后上传至服务机。
[0043]实施中,对冲突文件包进行解析可以为,遍历冲突文件包,对每个冲突文件的名称进行修改或者添加注释。
[0044]本发明实施例通过对冲突文件包进行解析,防止开发人员理解错误,确保了冲突解决的正确性。
[0045]现有技术中冲突文件中的各部分名称分别代表什么含义,对于一般的开发人员理解起来比较耗费时间,本发明实施例直接将冲突文件中各部分的名称进行修改,解析成人们更容易理解的方式,从而在一定程度上提高冲突解决的效率。以Subvers1n为例,冲突文件中的三个部分为文件名.merge-right.版本号、文件名.merge-left.版本号、文件名.working,本发明实施例通过对这三个部分的名称进行解析、修改,比如可以分别修改为文件名.合并的来源、文件名.合并目标的基线、文件名.合并的当前工作副本等,解析成容易理解的方式后,再上传到服务机。
[0046]实施中,解析冲突文件包后上传的内容可以进一步包括如下中的至少一个:冲突文件的版本、冲突文件对应的系统及对应分支、冲突文件解决状态、冲突提交时间等等。
[0047]本发明实施例将上述内容统称为合并冲突记录,用于记录和跟踪冲突解决的情况。当开发人员确定要解决合并冲突时,可以获取相应的冲突文件(也可以理解为冲突文件包中仅包括一个冲突文件)或者冲突文件包进行冲突处理,还可以获取合并冲突记录进行冲突处理。
[0048]现有技术中已有的管理工具不能对合并过程中的冲突文件进行自动提取,并记录和跟踪冲突解决情况。本发明实施例通过更新从服务机获取的冲突文件列表,将每一次的冲突发生的时间、版本等情况记录到服务机上,并可以根据冲突文件解决状态等信息进行跟踪,方便记录和跟踪冲突解决情况。
[0049]实施中,每次分支合并存在冲突时,可以在目标分支上选择目标版本或者来源版本的内容进行提交,提交以后继续下一分支的合并操作;开发人员在进行冲突处理时是根据合并冲突提交时选择的版本来进行的。
[0050]假设将分支1与分支2 (也即目标分支)合并存在冲突时,在分支2上选择分支2的软件版本或者选择分支1的软件版本进行提交;由于选择哪个版本提交会影响到后续冲突解决的具体解决方式,当开发人员进行冲突处理时,需要首先确定之前提交冲突时是选择的哪个版本进行提交的,再据此进行不同的解决。
[0051]图3示出了服务机侧冲突文件处理方法实施的流程示意图,如图所示,可以包括如下步骤:
[0052]步骤301、记录每次分支中存在冲突的冲突文件;
[0053]步骤302、在收到获取冲突文件包请求后,发送冲突文件包,该冲突文件包为冲突文件的集合。
[0054]实施中,可以进一步包括:在收到经过解析的冲突文件包后进行存储。
[0055]实施中,可以进一步包括:
[0056]记录本地文件和版本库中的文件之间的差异,对每次合并修改的状态进行标识;
[0057]获取冲突文件包请求中包括标识,可以根据该标识发送相应的冲突文件包。
[0058]已有的软件管理工具,不能显示合并过程中所有的冲突记录查看,可能会导致开发人员在解决过程中对冲突文件的遗漏。本发明实施例通过服务机对所有分支的合并修改的状态进行标识,即可根据这些状态标识提取出所有的冲突记录,以便开发人员查看,防止在解决过程中对冲突文件的遗漏。
[0059]实施中,接收并存储冲突文件包时,可以进一步包括:接收并存储如下中的至少一个:冲突文件的版本、冲突文件对应的系统及对应分支、冲突文件解决状态、冲突提交时间坐坐寸寸。
[0060]实施中,可以进一步包括:在客户机确定要解决合并冲突时,发送相应的冲突文件、冲突文件列表或者合并冲突记录;并在冲突处理完成后更新冲突文件解决状态。
[0061]在明了运用的环境后,在客户机侧、服务机侧分别可以按如下方式实施。在说明过程中,将分别从客户机与服务机侧的实施进行说明,但这并不意味着二者必须配合实施,实际上,当客户机与服务机分开实施时,其也各自解决客户机侧、服务机侧的问题,只是二者结合使用时
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1