CN104123126A - 一种用于生成合并冲突记录列表的方法和装置 - Google Patents

一种用于生成合并冲突记录列表的方法和装置 Download PDF

Info

Publication number
CN104123126A
CN104123126A CN201310150338.0A CN201310150338A CN104123126A CN 104123126 A CN104123126 A CN 104123126A CN 201310150338 A CN201310150338 A CN 201310150338A CN 104123126 A CN104123126 A CN 104123126A
Authority
CN
China
Prior art keywords
branch
conflict
list
content
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310150338.0A
Other languages
English (en)
Other versions
CN104123126B (zh
Inventor
李素石
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201310150338.0A priority Critical patent/CN104123126B/zh
Publication of CN104123126A publication Critical patent/CN104123126A/zh
Application granted granted Critical
Publication of CN104123126B publication Critical patent/CN104123126B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种用于生成合并冲突记录列表的方法和设备。该方法包括步骤:获取指定合并操作中删除或覆盖的对象的列表;检查列表中的对象在源分支和目标分支中的内容是否有差异;当对象在源分支和目标分支中的内容有差异时,生成对应于对象的合并冲突记录;以及将合并冲突记录加入合并冲突记录列表。根据本申请,能够从合并过程中识别所有的内容中存在差异冲突的文件列表,避免在开发人员不知情的情况下修改内容丢失。

Description

一种用于生成合并冲突记录列表的方法和装置
技术领域
本申请涉及计算机数据处理领域,尤其涉及一种用于生成合并冲突记录列表的方法和设备。
背景技术
在软件的生命周期中,对软件的变更需求不可避免,软件的开发和维护过程也就是对软件实施有效变更的过程。在并行开发的情况下,很可能需要对同一配置项进行并发的变更。通过分别记录这些针对相同配置项的开发过程,就形成了该配置项的不同分支(变体)。
分支是一种允许一个文件集合分化到两个或更多分叉路径中的功能。当团队必须维护两个或更多相似基本代码(例如,当发布了一个产品且必须开始下一个版本的工作时就可能会出现这种情况)时,经常使用分支。具体而言,所谓的分支,就是指把源代码控制系统中的文件和目录复制一份。分支能够保持文件和目录的历史,并且能够把旧的文件上的修改合并到新的文件上去。在新的分支上的修改,和原来的分支(一般称为主分支)没有任何关系。
分支也是实现开发人员之间相互隔离的基础。通过隔离,可以降低开发人员之间的相互干扰。采用分支也有利于实现项目的滚动开发,通过允许分析、设计、开发、继承、测试、发布等过程部分重叠进行,提高了开发过程的并行度。因此,分支是实现并行开发的重要基础。
合并是将两个不同分支中的更改结合在一起的过程。例如,合并操作将不同分支中的文件(例如,文件、目录、团队项目)合并到一起。在合并操作中,一个分支是源分支,另一个是目标分支。源分支中包括了用户想要合并的文件。合并操作获取源分支中已发生的更改,并将这些更改集成到目标分支中。合并操作集成源分支中所有类型的更改,其中可以包括更改名称、编辑文件、添加文件、删除文件以及撤销删除更改等。
在分布式开发环境下,经常出现的一种情况是同时在源分支和目标分支中修改了项。例如,多个开发人员共同开发一个软件,开发人员A(源分支)对文件进行了修改,而开发人员B(目标分支)在不知情的情况下将该文件删除了。如果在此时将开发人员A与开发人员B对文件所进行的修改进行合并,系统就会提示解决冲突。这种因为合并操作而产生的冲突称为合并冲突。
系统对冲突的提示通常是通过提供合并冲突记录列表来实现。合并冲突记录列表可以通过版本管理软件来提供。
但是,在现有技术中,在分支合并过程中,并不能提示所有的存在差异冲突部分的记录。例如,在分支合并过程中,只提示两种冲突:一是由于源分支和目标分支修改同一个文件的同一行或几行造成的冲突;二是由于目录(文件)树的改变,造成内容修改不能匹配在同一对象(目录/文件)上造成的冲突。但是,如上所述,冲突类型并不限于这两种,而是可能包括很多其他的类型。例如,由于源分支的删除(或删除后新增)操作、目标分支修改操作引起的实际合并结果的内容中存在差异冲突部分的文件列表等。对于这些其他类型的冲突,在现有技术中并不会提示。这种缺陷所带来的后果是经常会造成在开发人员不知情的情况下修改内容丢失。
除此之外,在现有技术中,也无法对历史的合并冲突记录进行很好的管理。例如,不能提供历史合并冲突记录查看,验证者难于检查所有的合并冲突是否都已解决。
发明内容
本申请的主要目的在于提供生成完整的合并冲突记录的技术方案,以解决现有技术存在的上述问题。
根据本申请的第一方面,提供了一种用于生成合并冲突记录列表的方法,其特征在于,包括步骤:获取指定合并操作中删除或覆盖的对象的列表;检查列表中的对象在源分支和目标分支中的内容是否有差异;当对象在源分支和目标分支中的内容有差异时,生成对应于对象的合并冲突记录;以及将合并冲突记录加入合并冲突记录列表。
根据本申请的实施例,在该方法中,所述对象是删除的文件,并且所述检查所述对象在源分支和目标分支中的内容是否有差异的步骤进一步包括:检查所述文件在目标分支中是否有修改;以及当所述文件在目标分支中有修改时,判定所述对象在源分支和目标分支中的内容有差异。
根据本申请的实施例,在该方法中,所述对象是删除的目录,并且所述检查所述对象在源分支和目标分支中的内容是否有差异的步骤进一步包括:检查所述目录在目标分支中是否有新增文件或修改文件;以及当所述目录在目标分支中有新增文件或修改文件时,判定所述对象在源分支和目标分支中的内容有差异。
根据本申请的实施例,在该方法中,所述对象是覆盖的目录,并且所述检查所述对象在源分支和目标分支中的内容是否有差异的步骤进一步包括:检查所述目录下的文件在目标分支中是否有修改且与源分支的内容存在差异;以及当所述目录下的文件在目标分支中有修改且与源分支的内容存在差异时,判定所述对象在源分支和目标分支中的内容有差异。
根据本申请的实施例,在该方法中,进一步包括:将所述合并冲突记录列表存储在数据库中。
根据本申请的实施例,在该方法中,所述合并冲突记录具有状态字段,用于表明所述合并冲突记录对应的冲突是否被解决。
根据本申请的实施例,在该方法中,所述合并冲突记录列表具有状态字段,用于表明所述合并冲突记录列表对应的全部冲突是否都已解决。
根据本申请的第二方面,提供了一种用于生成合并冲突记录列表的装置,其特征在于,包括:获取模块,用于获取指定合并操作中删除或覆盖的对象的列表;检查模块,用于检查对象在源分支和目标分支中的内容是否有差异;生成模块,用于当对象在源分支和目标分支中的内容有差异时,生成对应于对象的合并冲突记录;以及加入模块,用于将合并冲突记录加入合并冲突记录列表。
与现有技术相比,根据本申请的技术方案,能够从合并过程中识别所有的内容中存在差异冲突的文件列表,避免在开发人员不知情的情况下修改内容丢失。本申请能够实现在并行开发模式下,多个分支合并时,无需等待先合并的分支冲突解决完成,就能进行其他分支的合并,然后通过对合并冲突记录列表进行检查来解决冲突,并且还能够检查冲突解决情况。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示意性地示出了根据本申请一个实施例的系统结构图;
图2示意性地示出了根据本申请优选实施例的用于生成合并冲突记录列表的方法的流程图;
图3A示意性地示出了根据本申请更详细实施例的用于生成合并冲突记录列表的方法的部分流程图;
图3B示意性地示出了图3A所示的方法的另一部分流程图;并且
图4示意性地示出了根据本申请优选实施例的用于生成合并冲突记录列表的装置的结构框图。
在这些附图中,使用相同的参考标号来表示相同或相似的部分。
具体实施方式
本申请的主要思想在于,从合并过程中获取完整的合并冲突记录列表,并且可以对指定合并操作的冲突解决情况进行检查,从而解决现有技术中存在的难于提示完整的合并冲突记录列表的问题,同时解决查看和整理历史合并冲突记录的问题。本申请尤其适用于并行开发模式。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
为使本申请的目的、技术方案和优点更加清楚,以下结合附图及具体实施例,对本申请作进一步地详细说明。
在以下描述中,对“一个实施例”、“实施例”、“一个示例”、“示例”等等的引用表明如此描述的实施例或示例可以包括特定特征、结构、特性、性质、元素或限度,但并非每个实施例或示例都必然包括特定特征、结构、特性、性质、元素或限度。另外,重复使用短语“在一个实施例中”虽然有可能是指代相同实施例,但并非必然指代相同实施例。
为简单起见,以下描述中省略了本领域技术人员公知的某些技术特征。
图1示意性地示出了根据本申请一个实施例的系统结构图。如图1所示,系统100可以包括服务器101和一系列客户端102-1、102-2、102-3。存储有合并冲突记录列表的数据库可以驻留在服务器101上。合并冲突记录列表可以包含可能用在缺陷修复分支或特征分支、或者用于开发新版本分支的合并冲突。如上所述,合并冲突就是因为分支合并操作而产生的冲突或者在分支合并过程中产生的冲突。客户端102-1、102-2、102-3可以提供用户用以进行合并操作或使用合并冲突记录的用户接口。
应当注意,图1所示的客户端的数量仅仅是示例性而非限制性的,根据具体应用的不同,可以采用更多或更少的客户端。
图2示意性地示出了根据本申请优选实施例的用于生成合并冲突记录列表的方法200的流程图。方法200可以在图1所示的系统上实现。
方法200开始于步骤201,在该步骤中获取指定合并操作中删除或覆盖的对象的列表。根据本申请的实施例,这里所说的“对象”可以是文件、目录(或文件目录)或纳入配置库管理的配置项。
在步骤202中,检查列表中的对象在源分支和目标分支中的内容是否有差异。
如果对象在源分支和目标分支中的内容有差异,则在步骤203中,生成对应于该对象的合并冲突记录。
在步骤204中,将该合并冲突记录加入合并冲突记录列表。
如果对象在源分支和目标分支中的内容没有差异,则可以对列表中下一对象执行上述步骤202-204,直到对列表中所有对象都进行了检查。
根据本申请的一个实施例,可以从版本管理软件获取冲突列表,将冲突列表加入数据库中的合并冲突记录列表。然后,再将方法200所生成的合并冲突记录加入该合并冲突记录列表。
根据本申请,除了获取版本管理软件提示的无法直接合并的冲突,还可以获取版本管理软件未提示但实际由于源分支的删除(或删除后新增)操作,目标分支修改操作引起的实际合并结果的内容中存在差异冲突部分的文件列表。
应当注意,图2所示的方法200仅仅是示例性而非限制性的,根据具体应用的不同,可以采用更多或更少的步骤,或者各步骤之间的顺序可以不同。
图3A示意性地示出了根据本申请更详细实施例的用于生成完整的合并冲突记录的方法300的部分流程图。
在步骤301中,获取合并结果中的被删除的文件的列表。这里的被删除的文件就是图2中的对象的一种实现方式。应当注意,尽管这里以获取合并结果中的被删除的文件列表(即,在合并操作之后获取)为例来进行说明,但是,根据本申请的不同实施例,也可以在合并操作之前获取将要删除的文件的列表,或者在合并操作过程中获取正在删除的文件的列表。也就是说,根据具体应用的不同,获取被删除的文件的列表这一操作的时间是可变的。在步骤302中,检查被删除的文件在目标分支中是否有修改。
如果被删除的文件在目标分支中有修改,则在步骤303中,生成对应于该文件的合并冲突记录。
在步骤304中,将该合并冲突记录加入合并冲突记录列表。
如果被删除的文件在目标分支中没有修改,则可以对被删除的文件的列表中的下一文件执行上述步骤302-304,直到对被删除的文件的列表中的所有文件都进行了检查。
然后,方法前进到步骤305,在该步骤中,获取合并结果中的被删除的目录列表。这里的被删除的目录就是图2中的对象的一种实现方式。应当注意,尽管这里以获取合并结果中的被删除的目录列表(即,在合并操作之后获取)为例来进行说明,但是,根据本申请的不同实施例,也可以在合并操作之前获取将要删除的目录的列表,或者在合并操作过程中获取正在删除的目录的列表。也就是说,根据具体应用的不同,获取被删除的目录的列表这一操作的时间是可变的。
在步骤306中,检查被删除的目录在目标分支中是否有新增文件或修改文件。
如果被删除的目录在目标分支中有新增文件或修改文件,则在步骤307中,生成对应于该目录的合并冲突记录。
在步骤308中,将该合并冲突记录加入合并冲突记录列表。
如果被删除的目录在目标分支中没有新增文件或修改文件,则可以对被删除的目录的列表中的下一目录执行上述步骤306-308,直到对被删除的目录的列表中的所有目录都进行了检查。
然后,方法前进到步骤309,在该步骤中,获取合并结果中存在覆盖操作的目录列表。这里的存在覆盖操作的目录就是图2中的对象的一种实现方式。应当注意,尽管这里以获取合并结果中的存在覆盖操作的目录列表为例来进行说明,但是,根据本申请的不同实施例,也可以在合并操作之前获取将要被执行覆盖操作的目录列表,或者在合并操作过程中获取正在被执行覆盖操作的目录列表。也就是说,根据具体应用的不同,获取合并结果中存在覆盖操作的目录的列表这一操作的时间是可变的。
在步骤310中,检查目录下的文件在目标分支中是否有修改且与源分支的内容存在差异。
如果目录下的文件在目标分支中有修改且与源分支的内容存在差异,则在步骤311中,生成对应于该目录的合并冲突记录。
在步骤312中,将该合并冲突记录加入合并冲突记录列表。
如果存在覆盖操作的目录在目标分支中没有新增文件或修改文件,则可以对存在覆盖操作的目录的列表中的下一目录执行上述步骤310-312,直到对被删除的目录的列表中的所有目录都进行了检查。
在步骤312完成后,所得到的合并冲突记录列表就是内容存在差异冲突的合并冲突记录列表。该合并冲突记录列表包含了现有技术的方法中不会提示的合并冲突类型。例如,由于源分支的删除(或删除后新增)操作,目标分支修改操作引起的实际合并结果的内容中存在差异冲突部分的文件列表。
然后,方法300可以结束,也可以继续如图3B所示继续进行。
此外,还可以获取版本管理软件提供的冲突列表,并将其加入合并冲突记录列表数据库(又称为“合并冲突记录库”),此时数据库中就包含了完整的冲突记录列表。
应当注意,图3A中所示的方法流程图仅仅是示例性而非限制性的。根据具体应用的不同,图3A中所示的方法步骤可以有各种不同的实现方式。
例如,根据本申请的不同实施例,可以只执行三组步骤301-304、305-308、309-312中的任意一组。即,可以只执行步骤301-304、只执行步骤305-308或者只执行步骤309-312。
根据本申请的一个实施例,可以只执行三组步骤301-304、305-308、309-312中的任意两组。
根据本申请的一个实施例,三组步骤301-304、305-308、309-312之间的先后顺序可以与图3A中所示的不同。
下面参考表1来对这一过程进行更详细的描述。表1示出了根据本申请一个实施例的合并冲突记录的示例。表1可以存储在驻留于图1所示的服务器101上的数据库中。
表1
本申请的技术方案非常适合并行开发模式的合并冲突控制。根据本申请的一个实施例,表1中所示的合并冲突记录列表可以关联一次合并操作,其中每一条合并冲突记录对应于该合并操作引起的冲突中的一个。合并冲突记录的集合(即合并冲突记录列表)可以在数据库中进行维护。每条合并冲突记录在数据库中通过来源分支、目标分支进行识别。
合并冲突记录的每个冲突路径可以通过如“冲突路径”列所示的版本库中相对路径来表示。如下文详细介绍的,冲突路径可以通过在合并过程中获取合并冲突记录来产生。每条合并冲突记录可以关联一个目标分支(包括版本),如“目标分支”列所示。目标分支可以以“分支URL版本号”进行识别。每个合并冲突记录可以还关联一个源分支(包括版本),如“源分支”列所示。源分支可以以“分支URL版本号”进行识别。每个合并冲突记录还可以记录源分支和目标分支的操作,如“源分支操作”和“目标分支操作”列所示。每个合并冲突可以记录关联一次合并操作ID,如“合并操作ID”列所示。出于示例的目的,“合并操作ID”可以以“版本库名_年_月_合并次数”格式进行标识。所以,“sysA_13_3_1”表示版本库sysA在2013年3月份的第一次合并操作。因此,sysA_13_3_2在sysA_13_3_1之后。然而,也可以按照其他命名方式进行合并操作ID的命名,例如按照分支所属项目命名。
假设源分支删除目录Menu1,目标分支修改目录下文件Menu1/A。这种情况版本管理软件不会提示冲突,直接做删除处理。根据本申请,可以记录这种存在差异冲突的操作,登记到合并冲突记录。假设源分支删除目录Menu1,目标分支新增目录下文件Menu1/B。这种情况版本管理软件也不会提示冲突,直接做删除处理。根据本申请,可以记录这种存在差异冲突的操作,登记到合并冲突记录。假设源分支删除后又新增目录Menu2,目标分支修改目录下文件Menu2/C,源分支新增目录Menu2中的文件C和目标分支中的存在差异。这种情况版本管理软件不会提示冲突,直接做覆盖处理。根据本申请,可以记录这种存在差异冲突的操作,登记到合并冲突记录。
根据本申请的一个实施例,每条合并冲突记录可以具有状态字段,用于表明所述合并冲突记录对应的冲突是否被解决。初始状态下,合并冲突记录的状态字段的可以设置为“未解决”。在冲突被解决之后,合并冲突记录的状态字段可以设置为“已解决”。应当注意,这里所列出的合并冲突记录的状态字段的值仅仅是示例性而非限制性的,根据具体应用的不同,合并冲突记录的状态字段的值可以有其他的设置方式。此外,这里所述的合并冲突记录的状态字段的值也可以用其他含义相同的表述来替代。
根据本申请的一个实施例,合并冲突记录列表具有状态字段,用于表明所述合并冲突记录列表对应的全部冲突是否都已解决。初始状态下,合并冲突记录列表的状态字段的可以设置为“打开”(或“未关闭”)。在冲突被解决之后,合并冲突记录列表的状态字段可以设置为“关闭”。应当注意,这里所列出的合并冲突记录列表的状态字段的值仅仅是示例性而非限制性的,根据具体应用的不同,合并冲突记录列表的状态字段的值可以有其他的设置方式。此外,这里所述的合并冲突记录列表的状态字段的值也可以用其他含义相同的表述来替代。
图3B示意性地示出了图3A所示的方法300的另一部分流程图。图3B说明了在如图3A所示地生成了完整的合并冲突记录列表之后,可以如何对冲突进行检查、解决和整理。
在步骤313中,从数据库获取合并冲突记录列表。
在步骤314中,解决合并冲突。
在步骤315中,将该合并冲突记录的状态字段设置为“已解决”。
在步骤316中,确认是否该合并冲突记录列表中的所有合并冲突都已解决,即,是否该合并冲突记录列表中所有合并冲突记录的状态字段都已设置为“已解决”。
如果该合并冲突记录列表中的所有合并冲突都已解决,即,该合并冲突记录列表所有合并冲突记录的状态字段都已设置为“已解决”,则在步骤317中,将该合并冲突记录列表的状态设置为“关闭”。
否则,在步骤317中,将合并冲突记录列表的状态字段设置为“未通过验证”。然后,方法返回到步骤313,对该合并冲突记录列表中其他合并冲突记录所对应的冲突进行解决。
在该合并冲突记录列表中所有的冲突都被解决之后,在步骤318中,将合并冲突记录列表的状态被设置为“关闭”,方法300结束。
应当注意,这里所列出的合并冲突记录和合并冲突记录列表的状态字段的值仅仅是示例性而非限制性的,根据具体应用的不同,合并冲突记录和合并冲突记录列表的状态字段的值可以有其他的设置方式。此外,这里所述的合并冲突记录和合并冲突记录列表的状态字段的值也可以用其他含义相同的表述来替代。
应当注意,图3A和图3B中所示的方法300的流程图仅仅是示例性而非限制性的。根据具体应用的不同,本申请的方法可以有各种不同的实现方式。
根据本申请的一个实施例,用户可以选择只执行图3A中所示的步骤,也可以选择继续执行图3B所示的步骤。
图4示意性地示出了根据本申请优选实施例的用于生成合并冲突记录列表的装置400的结构框图。
根据本申请的一个实施例,装置400可以包括:获取模块401,用于获取指定合并操作中删除或覆盖的对象的列表;检查模块402,用于检查对象在源分支和目标分支中的内容是否有差异;生成模块403,用于当对象在源分支和目标分支中的内容有差异时,生成对应于对象的合并冲突记录;以及加入模块404,用于将合并冲突记录加入合并冲突记录列表。
根据本申请的一个实施例,检查模块402进一步包括:检查子模块,用于检查删除的文件(即,对象)在目标分支中是否有修改;以及判定子模块,用于当该文件(即,对象)在目标分支中有修改时,判定所述对象(即,删除的文件)在源分支和目标分支中的内容有差异。
根据本申请的另一实施例,检查模块402进一步包括:检查子模块,用于检查删除的目录(即,对象)在目标分支中是否有新增文件或修改文件;以及判定子模块,用于当所述目录(即,对象)在目标分支中有新增文件或修改文件时,判定所述对象(即,删除的目录)在源分支和目标分支中的内容有差异。
根据本申请的又一实施例,检查模块402进一步包括:检查子模块,用于检查覆盖的目录(即,对象)下的文件在目标分支中是否有修改且与源分支的内容存在差异;以及判定子模块,用于当所述目录(即,对象)下的文件在目标分支中有修改且与源分支的内容存在差异时,判定所述对象(即,覆盖的目录)在源分支和目标分支中的内容有差异。
根据本申请的一个实施例,装置400可以进一步包括:存储模块,用于将所述合并冲突记录列表存储在数据库中。
根据本申请的一个实施例,装置400可以进一步包括:记录状态设置模块,用于设置合并冲突记录的状态字段。
根据本申请的一个实施例,装置400可以进一步包括:记录列表状态设置模块,用于设置合并冲突记录列表的状态字段。
根据本申请的一个实施例,装置400可以进一步包括:获取模块,用于从数据库获取合并冲突记录列表。
根据本申请的一个实施例,装置400可以进一步包括:冲突解决模块,用于解决合并冲突记录所对应的冲突。
根据本申请的一个实施例,装置400可以进一步包括:确认模块,用于确认是否合并冲突记录列表中的所有合并冲突都已解决。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (14)

1.一种用于生成合并冲突记录列表的方法,其特征在于,包括步骤:
获取指定合并操作中删除或覆盖的对象的列表;
检查列表中的对象在源分支和目标分支中的内容是否有差异;
当所述对象在源分支和目标分支中的内容有差异时,生成对应于所述对象的合并冲突记录;以及
将所述合并冲突记录加入合并冲突记录列表。
2.根据权利要求1所述的方法,其特征在于,所述对象是删除的文件,并且所述检查所述对象在源分支和目标分支中的内容是否有差异的步骤进一步包括:
检查所述文件在目标分支中是否有修改;以及
当所述文件在目标分支中有修改时,判定所述对象在源分支和目标分支中的内容有差异。
3.根据权利要求1所述的方法,其特征在于,所述对象是删除的目录,并且所述检查所述对象在源分支和目标分支中的内容是否有差异的步骤进一步包括:
检查所述目录在目标分支中是否有新增文件或修改文件;以及
当所述目录在目标分支中有新增文件或修改文件时,判定所述对象在源分支和目标分支中的内容有差异。
4.根据权利要求1所述的方法,其特征在于,所述对象是覆盖的目录,并且所述检查所述对象在源分支和目标分支中的内容是否有差异的步骤进一步包括:
检查所述目录下的文件在目标分支中是否有修改且与源分支的内容存在差异;以及
当所述目录下的文件在目标分支中有修改且与源分支的内容存在差异时,判定所述对象在源分支和目标分支中的内容有差异。
5.根据权利要求1所述的方法,其特征在于,进一步包括:
将所述合并冲突记录列表存储在数据库中。
6.根据权利要求1所述的方法,其特征在于,所述合并冲突记录具有状态字段,用于表明所述合并冲突记录对应的冲突是否被解决。
7.根据权利要求6所述的方法,其特征在于,所述合并冲突记录列表具有状态字段,用于表明所述合并冲突记录列表对应的全部冲突是否都已解决。
8.一种用于生成合并冲突记录列表的装置,其特征在于,包括:
获取模块,用于获取指定合并操作中删除或覆盖的对象的列表;
检查模块,用于检查所述对象在源分支和目标分支中的内容是否有差异;
生成模块,用于当所述对象在源分支和目标分支中的内容有差异时,生成对应于所述对象的合并冲突记录;以及
加入模块,用于将所述合并冲突记录加入合并冲突记录列表。
9.根据权利要求8所述的装置,其特征在于,所述对象是删除的文件,并且所述检查模块进一步包括:
检查子模块,用于检查所述文件在目标分支中是否有修改;以及
判定子模块,用于当所述文件在目标分支中有修改时,判定所述对象在源分支和目标分支中的内容有差异。
10.根据权利要求8所述的装置,其特征在于,所述对象是删除的目录,并且所述检查模块进一步包括:
检查子模块,用于检查所述目录在目标分支中是否有新增文件或修改文件;以及
判定子模块,用于当所述目录在目标分支中有新增文件或修改文件时,判定所述对象在源分支和目标分支中的内容有差异。
11.根据权利要求8所述的装置,其特征在于,所述对象是覆盖的目录,并且所述检查模块进一步包括:
检查子模块,用于检查所述目录下的文件在目标分支中是否有修改且与源分支的内容存在差异;以及
判定子模块,用于当所述目录下的文件在目标分支中有修改且与源分支的内容存在差异时,判定所述对象在源分支和目标分支中的内容有差异。
12.根据权利要求8所述的装置,其特征在于,进一步包括:
存储模块,用于将所述合并冲突记录列表存储在数据库中。
13.根据权利要求8所述的装置,其特征在于,所述合并冲突记录具有状态字段,用于表明所述合并冲突记录对应的冲突是否被解决。
14.根据权利要求13所述的装置,其特征在于,所述合并冲突记录列表具有状态字段,用于表明所述合并冲突记录列表对应的全部冲突是否都已解决。
CN201310150338.0A 2013-04-26 2013-04-26 一种用于生成合并冲突记录列表的方法和装置 Active CN104123126B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310150338.0A CN104123126B (zh) 2013-04-26 2013-04-26 一种用于生成合并冲突记录列表的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310150338.0A CN104123126B (zh) 2013-04-26 2013-04-26 一种用于生成合并冲突记录列表的方法和装置

Publications (2)

Publication Number Publication Date
CN104123126A true CN104123126A (zh) 2014-10-29
CN104123126B CN104123126B (zh) 2018-04-10

Family

ID=51768552

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310150338.0A Active CN104123126B (zh) 2013-04-26 2013-04-26 一种用于生成合并冲突记录列表的方法和装置

Country Status (1)

Country Link
CN (1) CN104123126B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105677655A (zh) * 2014-11-18 2016-06-15 阿里巴巴集团控股有限公司 一种用于并行开发的架构拆分的分析方法及装置
CN107766075A (zh) * 2016-08-22 2018-03-06 平安科技(深圳)有限公司 代码合并的处理方法及装置
CN108733674A (zh) * 2017-04-14 2018-11-02 宁德时代新能源科技股份有限公司 一种a2l文件合并方法及装置
CN109165169A (zh) * 2018-10-16 2019-01-08 江苏满运软件科技有限公司 一种测试用分支管理方法及系统
CN109670151A (zh) * 2018-12-06 2019-04-23 网易(杭州)网络有限公司 文件合并方法、装置及存储介质
CN110795100A (zh) * 2019-09-12 2020-02-14 连连银通电子支付有限公司 分支合并方法及装置
CN111240692A (zh) * 2020-01-17 2020-06-05 北京简单一点科技有限公司 一种代码分支冲突提前预警方法
CN111796855A (zh) * 2020-07-22 2020-10-20 大箴(杭州)科技有限公司 一种增量版本更新方法、装置、存储介质及计算机设备
CN111857802A (zh) * 2020-07-15 2020-10-30 上海云轴信息科技有限公司 一种用于合并请求组集成的方法、系统及设备
CN113050986A (zh) * 2021-04-22 2021-06-29 上海哔哩哔哩科技有限公司 对象管理方法及装置
CN113110868A (zh) * 2021-04-07 2021-07-13 网易(杭州)网络有限公司 文件合并方法、装置、计算机设备及存储介质
CN113703778A (zh) * 2021-09-06 2021-11-26 工银科技有限公司 基于移动通信设备的工程文件冲突处理方法及装置
CN113805883A (zh) * 2020-06-16 2021-12-17 门德斯科技有限公司 创建应用程序的方法和系统
CN114692595A (zh) * 2022-05-31 2022-07-01 炫彩互动网络科技有限公司 一种基于文本匹配的重复冲突方案检测方法
WO2022257588A1 (zh) * 2021-06-10 2022-12-15 华为云计算技术有限公司 代码处理方法、系统、计算机集群、介质及程序产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6393437B1 (en) * 1998-01-27 2002-05-21 Microsoft Corporation Web developer isolation techniques
CN1525328A (zh) * 2003-02-28 2004-09-01 为复制文件管理多个文件状态的方法
CN102981843A (zh) * 2011-11-11 2013-03-20 微软公司 绘图工具中的共同创作

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6393437B1 (en) * 1998-01-27 2002-05-21 Microsoft Corporation Web developer isolation techniques
CN1525328A (zh) * 2003-02-28 2004-09-01 为复制文件管理多个文件状态的方法
CN102981843A (zh) * 2011-11-11 2013-03-20 微软公司 绘图工具中的共同创作

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张金玲: "基于事务合并优化的数据同步算法研究与应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105677655A (zh) * 2014-11-18 2016-06-15 阿里巴巴集团控股有限公司 一种用于并行开发的架构拆分的分析方法及装置
CN105677655B (zh) * 2014-11-18 2019-01-22 阿里巴巴集团控股有限公司 一种用于并行开发的架构拆分的分析方法及装置
CN107766075B (zh) * 2016-08-22 2021-06-25 平安科技(深圳)有限公司 代码合并的处理方法及装置
CN107766075A (zh) * 2016-08-22 2018-03-06 平安科技(深圳)有限公司 代码合并的处理方法及装置
CN108733674A (zh) * 2017-04-14 2018-11-02 宁德时代新能源科技股份有限公司 一种a2l文件合并方法及装置
CN109165169B (zh) * 2018-10-16 2022-02-08 江苏满运软件科技有限公司 一种测试用分支管理方法及系统
CN109165169A (zh) * 2018-10-16 2019-01-08 江苏满运软件科技有限公司 一种测试用分支管理方法及系统
CN109670151A (zh) * 2018-12-06 2019-04-23 网易(杭州)网络有限公司 文件合并方法、装置及存储介质
CN110795100A (zh) * 2019-09-12 2020-02-14 连连银通电子支付有限公司 分支合并方法及装置
CN110795100B (zh) * 2019-09-12 2023-11-03 连连银通电子支付有限公司 分支合并方法及装置
CN111240692A (zh) * 2020-01-17 2020-06-05 北京简单一点科技有限公司 一种代码分支冲突提前预警方法
CN111240692B (zh) * 2020-01-17 2023-05-26 北京简单一点科技有限公司 一种代码分支冲突提前预警方法
CN113805883A (zh) * 2020-06-16 2021-12-17 门德斯科技有限公司 创建应用程序的方法和系统
CN111857802A (zh) * 2020-07-15 2020-10-30 上海云轴信息科技有限公司 一种用于合并请求组集成的方法、系统及设备
CN111796855A (zh) * 2020-07-22 2020-10-20 大箴(杭州)科技有限公司 一种增量版本更新方法、装置、存储介质及计算机设备
CN113110868A (zh) * 2021-04-07 2021-07-13 网易(杭州)网络有限公司 文件合并方法、装置、计算机设备及存储介质
CN113110868B (zh) * 2021-04-07 2023-08-08 网易(杭州)网络有限公司 文件合并方法、装置、计算机设备及存储介质
CN113050986A (zh) * 2021-04-22 2021-06-29 上海哔哩哔哩科技有限公司 对象管理方法及装置
WO2022257588A1 (zh) * 2021-06-10 2022-12-15 华为云计算技术有限公司 代码处理方法、系统、计算机集群、介质及程序产品
CN113703778A (zh) * 2021-09-06 2021-11-26 工银科技有限公司 基于移动通信设备的工程文件冲突处理方法及装置
CN114692595A (zh) * 2022-05-31 2022-07-01 炫彩互动网络科技有限公司 一种基于文本匹配的重复冲突方案检测方法
CN114692595B (zh) * 2022-05-31 2022-08-30 炫彩互动网络科技有限公司 一种基于文本匹配的重复冲突方案检测方法

Also Published As

Publication number Publication date
CN104123126B (zh) 2018-04-10

Similar Documents

Publication Publication Date Title
CN104123126A (zh) 一种用于生成合并冲突记录列表的方法和装置
KR102188744B1 (ko) 데이터 저장, 데이터 검사 및 데이터 연계 방법 및 장치
US10095499B2 (en) Optimization for multi-project package manager
US10338917B2 (en) Method, apparatus, and system for reading and writing files
CN101308471B (zh) 一种恢复数据的方法及装置
US8495567B2 (en) Transferring annotations across versions of the data
CN101866315B (zh) 软件开发工具的测试方法及系统
CN108614702B (zh) 字节码优化方法及装置
CN112487083B (zh) 一种数据校验方法和设备
CN101221504A (zh) 测试脚本的处理方法及其调度执行系统
CN104008441A (zh) 一种自动提交版本库归档的任务管理系统及方法
CN1976320B (zh) 数据访问控制方法及系统
CN112685091A (zh) 基于大数据的业务请求处理方法、装置、设备和介质
CN110362792A (zh) 将rn文件转换为小程序文件的方法、装置及转换设备
CN110097685A (zh) 货道数据处理方法、装置、计算机设备和存储介质
JP2001306372A (ja) 文書管理方法およびその方法を実施するためのプログラムを記憶した記憶媒体
CN116450107B (zh) 低代码平台二次开发软件的方法、装置、电子设备
CN111427863B (zh) 一种基于领域模型的数据迁移方法、装置及设备
CN113590613A (zh) 数据表分区方法、装置、计算机设备和存储介质
US20160034431A1 (en) Method and system for assigning a content item as a link target to a managed object
CN111400243B (zh) 基于流水线服务的研发管理系统以及文件存储方法、装置
CN109522024A (zh) 一种环境搭建方法、装置、存储介质及处理器
CN113282551B (zh) 数据处理方法、系统及设备
US11803511B2 (en) Methods and systems for ordering operations on a file system having a hierarchical namespace
CN115220778A (zh) 一种api协同发布方法、装置、控制设备及可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant