CN105739968A - 基于分布式版本控制系统Git的更新内容的评审方法和装置 - Google Patents

基于分布式版本控制系统Git的更新内容的评审方法和装置 Download PDF

Info

Publication number
CN105739968A
CN105739968A CN201610037349.1A CN201610037349A CN105739968A CN 105739968 A CN105739968 A CN 105739968A CN 201610037349 A CN201610037349 A CN 201610037349A CN 105739968 A CN105739968 A CN 105739968A
Authority
CN
China
Prior art keywords
file destination
temporary path
evaluation
update content
information
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
CN201610037349.1A
Other languages
English (en)
Other versions
CN105739968B (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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201610037349.1A priority Critical patent/CN105739968B/zh
Publication of CN105739968A publication Critical patent/CN105739968A/zh
Application granted granted Critical
Publication of CN105739968B publication Critical patent/CN105739968B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了基于分布式版本控制系统Git的更新内容的评审方法。所述方法的一具体实施方式包括:接收用户的评审请求信息,所述评审请求信息包括对目标文件的更新内容、用户的身份信息及所述目标文件的路径,其中,所述目标文件为所述分布式版本控制系统Git的服务器中的文件;根据所述目标文件的路径及所述用户的身份信息创建临时路径,并将所述对目标文件的更新内容提交到临时路径中;发送对所述临时路径中的所述对目标文件的更新内容的待评审信息给第三方平台;接收第三方平台对所述对目标文件的更新内容的评审后的指示信息。该实施方式省去了第三方评审软件,降低了成本。

Description

基于分布式版本控制系统Git的更新内容的评审方法和装置
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及基于分布式版本控制系统Git的更新内容的评审方法和和装置。
背景技术
在开源分布式版本控制系统Git中,各分支保存在特定的路径上。开发者在特定路径上对某个分支进行提取和合并的命令操作。用户在Git的客户端根据开发任务把远程服务器端的与开发任务相关的分支上的已有代码镜像到本地单机上,并在该分支已有代码的基础上编写新的代码以完成开发任务。在完成一次开发任务后在本地单机上的Git上进行提交,然后再将本地单机上的新的代码合并到远程服务器中。每一次提交都会产生一个节点信息,其中,节点信息包括提交代码的时间,提交代码的用户,以及提交的代码所完成的开发任务。
为了保证提交到远程服务器的分支上的代码无误,在将代码合并到服务器的分支之前需要专门的评审人员进行代码评审。目前,使用代码评审工具Gerrit软件来管理代码的评审。使用代码评审工具Gerrit软件,开发者手动设置分支代码需要提交到的评审地址。评审者对提交的分支代码评审通过后,将新的代码合并到Gerrit服务器的分支上,合并成功后,将Gerrit服务器上的分支同步代码到Git远程服务器上。
然而,由于使用代码评审工具Gerrit时,需要开发者手动设置分支代码需要提交到的评审地址,使用起来比较复杂。同时,Gerrit是第三方系统,增加了使用成本。
发明内容
本申请的目的在于提出一种基于分布式版本控制系统Git的更新内容的评审方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种基于分布式版本控制系统Git的更新内容的评审方法,所述方法包括:接收用户的评审请求信息,所述评审请求信息包括对目标文件的更新内容、用户的身份信息及所述目标文件的路径,其中,所述目标文件为所述分布式版本控制系统Git的服务器中的文件;根据所述目标文件的路径及所述用户的身份信息创建临时路径,并将所述对目标文件的更新内容提交到所述临时路径中;发送对所述临时路径中的所述对目标文件的更新内容的待评审信息给第三方平台;接收所述第三方平台对所述对目标文件的更新内容的评审后的指示信息。
在一些实施例中,所述方法还包括在所述根据所述目标文件的路径及所述用户的身份信息创建临时路径之前,判断是否存在在所述评审请求信息之前的、未处理的评审请求信息:若存在在所述评审请求信息之前的、未处理的评审请求信息,则退出创建临时路径;若不存在在所述评审请求信息之前的、未处理的评审请求信息,则执行创建临时路径。
在一些实施例中,所述若不存在在所述评审请求信息之前的、未处理的评审请求信息,则创建临时路径包括:在所述创建临时路径之前,删除已存在的与待创建的临时路径相同的临时路径。
在一些实施例中,所述方法还包括在将所述对目标文件的更新内容提交到临时路径中之前,克隆所述Git服务器中的所述目标文件到所述临时路径中;所述将所述对目标文件的更新内容提交到临时路径中包括将所述更新内容提交到所述临时路径中的所述目标文件的内容中。
在一些实施例中,所述方法还包括在将所述对目标文件的更新内容提交到临时路径中之后,设置所述临时路径中的所述对目标文件的评审记录状态为未审批。
在一些实施例中,若指示信息为通过,所述方法还包括:合并所述对目标文件的更新内容与所述分布式版本控制系统Git的服务器中的所述目标文件的内容;接收并判断由所述服务器返回的所述合并的提示信息,若判断所述合并的提示信息为冲突,则发送合并冲突提示信息给所述用户,若判断所述合并的提示信息为无冲突,则发送合并成功信息给所述用户。
在一些实施例中,所述指示信息若为不通过,则所述方法还包括:发送更新内容修改提示信息给所述用户。
在一些实施例中,所述方法还包括在所述接收第三方平台对所述对目标文件的更新内容的评审后的指示信息后,设置所述临时路径中的所述对目标文件的评审记录状态为已审批。
在一些实施例中,所述用户的身份信息为邮箱地址或企业资源计划系统的账号。
第二方面,本申请提供了一种基于分布式版本控制系统Git的更新文件的评审装置,所述装置包括:第一接收单元,配置用于接收用户的评审请求信息,所述评审请求信息包括对目标文件的更新内容、用户的身份信息及所述目标文件的路径,其中,所述目标文件为所述分布式版本控制系统Git的服务器中的文件;临时路径创建单元,配置用于根据所述目标文件的路径及所述用户的身份信息创建临时路径,并将所述对目标文件的更新内容提交到临时路径中;第一发送单元,配置用于发送对所述临时路径中的所述对目标文件的更新内容的待评审信息给第三方平台;第二接收单元,配置用于接收第三方平台对所述对目标文件的更新内容的评审后的指示信息。
在一些实施例中,所述临时路径创建单元进一步配置用于:在创建临时路径之前,判断是否存在在所述评审请求信息之前的、未处理的评审请求信息:若存在在所述评审请求信息之前的、未处理的评审请求信息,则退出创建临时路径;若不存在在所述评审请求信息之前的、未处理的评审请求信息,则执行创建临时路径。
在一些实施例中,若不存在在所述评审请求信息之前的、未处理的评审请求信息,所述临时创建单元进一步配置用于:在所述创建临时路径之前,删除已存在的与待创建的临时路径相同的临时路径。
在一些实施例中,所述临时路径创建单元进一步配置用于:在将所述对目标文件的更新内容提交到临时路径中之前,克隆所述Git服务器中的所述目标文件到所述临时路径中;将所述更新内容提交到所述临时路径中的所述目标文件的内容中。
在一些实施例中,所述临时路径创建单元进一步配置用于,在将所述对目标文件的更新内容提交到临时路径中之后,设置所述临时路径中的所述对目标文件的评审记录状态为未审批。
在一些实施例中,所述装置进一步包括:合并单元,配置用于若所述指示信息为通过,合并所述对目标文件的更新内容与所述分布式版本控制系统Git的服务器中的所述目标文件的内容;接收与判断单元,配置用于接收并判断由所述服务器返回的所述合并的提示信息,若判断所述合并的提示信息为冲突,则发送合并冲突提示信息给所述用户,若判断所述合并的提示信息为无冲突,则发送合并成功信息给所述用户。
在一些实施例中,所述装置进一步包括:第二发送单元,配置用于若所述指示信息为不通过,则发送更新内容修改提示信息给所述用户。
在一些实施例中,所述第二接收单元进一步配置用于,在所述接收第三方平台对所述对目标文件的更新内容的评审后的指示信息后,设置所述临时路径中的所述对目标文件的评审记录状态为已审批。
在一些实施例中,所述用户的身份信息为邮箱地址或企业资源计划系统的账号。
本申请提供的基于分布式版本控制系统Git的更新文件的评审方法和装置,通过根据接收到的用户评审请求信息中的用户身份信息和目标文件路径创建临时路径,并将用户评审请求信息中的对目标文件的更新内容提交到临时路径中,而后发送对临时路径中的对目标文件的更新内容的待评审信息给第三方平台,最后接收第三方平台对上述对目标文件的更新内容的评审后的指示信息,从而避免了使用第三方代码评审工具Gerrit,既减少了开发者手动设置评审地址的过程,又节省了成本。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的基于分布式版本控制系统Git的更新内容的评审方法的一个实施例的流程图;
图3是根据本申请的基于分布式版本控制系统Git的更新内容的评审装置的一个实施例的结构示意图;
图4是适于用来实现本申请实施例的服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的基于分布式版本控制系统Git的更新内容的评审方法或基于分布式版本控制系统Git的更新内容的评审装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104、106、第三方平台107、服务器105。网络104、106用以在终端设备101、102、103和服务器105之间,第三方平台107与服务器105之间提供通信链路的介质。网络104和106可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种软件,例如文档编辑软件、分布式版本控制系统软件等。
终端设备101、102、103可以是具有显示屏并且支持各种软件的各种电子设备,包括但不限于平板电脑、膝上型便携计算机和台式计算机等等。
服务器105包括两部分,第一部分保存有分布式版本控制系统Git的各分支的代码,作为Git的远程服务器。服务器105的第二部分可以向服务器105的第一部分、终端设备101、102、103以及第三方平台107提供服务。终端设备101、102和103可以通过网络104从服务器105的第一部分得到镜像的分支代码。服务器105的第二部分可以接收来自终端设备101、102、103的评审请求信息,根据评审请求信息进行分析处理,并通过网络106给第三方平台107发送待评审信息,并根据第三批平台107的指示信息将评审请求信息中的代码部分发送到服务器105的第一部分。
需要说明的是,本申请实施例所提供的基于分布式版本控制系统Git的更新内容的评审方法一般由服务器105的第二部分执行,相应地,基于分布式版本控制系统Git的更新内容的评审装置一般设置于服务器105的第二部分中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的基于分布式版本控制系统Git的更新内容的评审方法的一个实施例的流程200。的基于分布式版本控制系统Git的更新内容的评审方法,包括以下步骤:
步骤201,接收用户的评审请求信息。
在本实施例中,基于分布式版本控制系统Git的更新内容的评审方法运行于其上的电子设备(例如图1所示的服务器105的第二部分)可以通过有线连接方式或者无线连接方式从用户终端(如图1所示的101、102、103)接收评审请求信息。
上述评审请求信息包括对目标文件的更新内容、用户的身份信息及目标文件的路径,其中,目标文件为分布式版本控制系统Git的服务器105的第一部分中的文件。
在分布式版本控制系统Git中的主支上可以包含多个完成不同功能的分支。每个分支可以包含完成某个功能或者多个功能的代码,以及该代码的所有版本信息。同时每个分支都对应一个特定的路径。
在本实施例中,目标文件可以是Git中的一个分支上的封装有该分支代码的文件,也可以是Git中的一个分支上的文本信息载体。更新内容可以是在目标文件的原有代码的基础上编写的完成某个开发任务的一段或几段代码。也可以是原文本信息基础上增加的一段或几段文本信息。
在本实施例的一些可选的实现方式中,用户的身份信息可以是用来区分不同用户的信息,比如用户的邮箱地址,用户在公司内的企业资源系统(EnterpriseResourcePlanning,ERP)。
步骤202,根据目标文件的路径及用户的身份信息创建临时路径,并将对目标文件的更新内容提交到临时路径中。
在本实施例中,基于步骤201中得到的评审请求信息,上述电子设备(例如图1所示的服务器105)的第二部分可以首先获取上述评审请求信息中的用户身份信息和目标文件的路径,并根据用户身份信息和目标文件的路径创建临时路径。例如,目标文件的路径为ref/heads/dev,用户的身份信息为AABB.com,则创建的临时路径为ref/heads/dev_AABB.com。
在本实施例的一些可选的实现方式中,在创建临时路径之前,电子设备的第二部分根据用户的身份信息和目标文件的路径判断在电子设备的第二部分是否存在该用户在本次评审请求信息之前的未处理的评审请求信息。若存在该用户的在本次评审请求信息之前的未处理的评审请求信息,则退出创建临时路径,并向用户终端(如图1所示的101、102和103)返回有未处理的评审请求信息的提示信息。
在本实施例的一些可选的实现方式中,当电子设备的第二部分根据用户的身份信息和目标文件的路径判断在电子设备的第二部分中不存在该用户的在本次评审请求信息之前的未处理的评审请求信息,则删除已存在的与待创建的临时路径相同的临时路径,包括删除已存在的临时路径中的所有文件。当用户首次发送评审请求信息时,则不存在可删除的与待创建的临时路径相同的临时路径。在删除已存在的与待创建的临时路径相同的临时路径之后,电子设备的第二部分根据用户的身份信息合目标文件的路径创建临时路径。
在创建了临时路径之后,电子设备(如图1所示的服务器105)的第二部分将用户评审请求信息中的对目标文件的更新内容提交到临时路径中。
在本实施例的一些可选的实现方式中,电子设备(如图1所示的服务器105)的第二部分根据评审请求信息的目标文件的路径,在电子设备的第一部分(Git的服务器)中克隆目标文件的路径下的目标文件到临时路径中。这样可以保证临时路径中的目标文件内容与Git的服务器中的目标文件的内容一致。电子设备(如图1所示的服务器105)的第二部分在将电子设备的第一部分(Git的服务器中)中的目标文件克隆到电子设备中的临时路径之后,再将评审请求信息中的对目标文件的更新内容提交到该临时路径的目标文件的内容中。
在本实施例的一些可选的实现方式中,电子设备在将用户的对目标文件的更新内容提交到临时路径的目标文件的内容中之后,则设置该临时路径的目标文件的评审状态记录为未审批,用以提示用户或者审核人员该评审请求信息的状态。
步骤203,发送对临时路径中的对目标文件的更新内容的待评审信息给第三方平台。
在本实施例中,基于分布式版本控制系统Git的更新内容的评审方法运行于其上的电子设备的第二部分将已提交到临时路径中对目标文件的更新内容的待评审信息通过网络发给第三方平台(如图1所示的107)。第三方平台可以是预定的审核人,也可以是预定的专门的评审机构,还可以是评审装置。
在本实施例中,第三方平台在接收到电子设备的在临时路径中的对目标文件的更新内容的待评审信息后,根据接收到的待评审信息找到目标文件。并根据目标文件中的由于提交而产生的节点信息找到对目标文件的更新内容,并对该更新内容进行评审。在本实施例中,临时路径对用户和第三方平台均是不可见的。
步骤204,接收第三方平台对对目标文件的更新内容的评审后的指示信息。
在本实施例中,上述电子设备的第二部分接收来自第三方平台的对用户的对目标文件的更新内容的评审后的指示信息。其中,指示信息包括通过和不通过。
在本实施例的一些可选的实现方式中,当电子设备的第二部分接收到来自第三方平台的指示信息为通过时,将用户对目标文件的更新内容与电子设备的第一部分(Git服务器)中的目标文件的内容进行合并。即电子设备的第二部分自动执行合并命令以将上述更新内容与电子设备的第一部分(Git服务器)中的目标文件的内容进行合并处理。
当电子设备的第二部分自动执行合并命令后,电子设备的第一部分(Git服务器)接收对目标文件的更新内容,并判断对目标文件的更新内容与电子设备的第一部分(Git服务器)中的目标文件的内容是否有冲突。如果有冲突,则发送冲突提示信息给电子设备。电子设备的第二部分对来自电子设备的第一部分(Git服务器)的合并提示信息进行判断,并将冲突提示信息发送到用户的预定联系方式中,例如,预定联系方式可以为用户的邮箱。
当电子设备的第一部分(Git服务器)判断目标文件的更新内容与目标文件的内容无冲突时,将更新内容与目标文件的内容进行合并。并向电子设备的第二部分返回无冲突的提示信息。电子设备的第二部分对来自电子设备的第一部分(Git服务器)的提示信息进行判断,并将合并成功的提示信息发送到用户的预定联系方式中。
在本实施例的一些可选的实现方式中,当电子设备的第二部分接收到来自第三方平台的指示信息为不通过时,不执行上述的将对目标文件的更新内容与电子设备的第一部分(Git服务器)上的目标文件的内容合并的命令。同时电子设备的第二部分发送修改提示信息到用户的预定联系方式中。
在本实施例的一些可选的实现方式中,当电子设备的第二部分在接收到来自第三方平台的指示信息之后,将临时路径中的目标文件的评审记录状态设置为已审批。评审记录状态是未审批还是已审批可以作为在电子设备的第二部分在接收到用户的评审请求信息之后,判断是否已存在未处理、在该评审请求信息之前的评审请求信息的判断依据。
本实施例提供的基于分布式版本控制系统Git的更新文件的评审方法和装置,通过根据接收到的用户评审请求信息中的用户身份信息和目标文件路径创建临时路径,并将用户评审请求信息中的对目标文件的更新内容提交到临时路径中,而后发送对临时路径中的对目标文件的更新内容的待评审信息给第三方平台,最后接收第三方平台对上述对目标文件的更新内容的评审后的指示信息,从而避免了使用第三方代码评审工具Gerrit对更新内容进行评审。既减少了开发者手动设置评审地址的过程,又节省了成本。
进一步参考图3,作为对上述图2所示方法的实现,本申请提供了一种基于分布式版本控制系统Git的更新内容的评审装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图3所示,本实施例的基于分布式版本控制系统Git的更新内容的评审装置300包括:第一接收单元301,配置用于接收用户的评审请求信息,评审请求信息包括对目标文件的更新内容、用户的身份信息及目标文件的路径,其中,目标文件为分布式版本控制系统Git的服务器中的文件;临时路径创建单元302,配置用于根据目标文件的路径及用户的身份信息创建临时路径,并将对目标文件的更新内容提交到临时路径中;第一发送单元303,配置用于发送对临时路径中的对目标文件的更新内容的待评审信息给第三方平台;第二接收单元304,配置用于接收第三方平台对对目标文件的更新内容的评审后的指示信息。
在本实施例中,基于分布式版本控制系统Git的更新内容的评审装置300的第一接收单元301可以通过有线连接方式或者无线连接方式从用户终端接收用户的评审请求信息。
在本实施例中,基于第一接收单元301得到的评审请求信息中的用户身份信息和目标文件的路径,上述临时路径创建单元302创建临时路径。
在本实施例的一些可选的实现方式中,上述临时路径创建单元302进一步配置用于:在创建临时路径之前,判断在装置300中是否存在在评审请求信息之前的、未处理的评审请求信息:若存在在评审请求信息之前的、未处理的评审请求信息,则临时路径创建单元退出创建临时路径,并向电子用户终端返回有未处理的评审请求信息的提示信息。若不存在在评审请求信息之前的、未处理的评审请求信息,则临时路径创建单元创建临时路径。
在本实施例的一些可选的实现方式中,临时路径创建单元302在判断装置300中不存在在评审请求信息之前的、未处理的评审请求信息,则删除已存在于装置300中的与待创建的临时路径相同的临时路径。
在本实施例的一些可选的实现方式中,临时路径创建单元302首先根据评审请求信息中的目标文件的路径,从Git的服务器中克隆目标文件到临时路径中。然后临时路径创建单元302再将评审请求信息中的对目标文件的更新内容提交到临时路径中的目标文件的内容中。
在本实施例的一些可选的实现方式中,临时路径创建单元302进一步配置用于,在对目标文件的更新内容提交到临时路径中的目标文件的内容中之后,设置临时路径中的目标文件的评审记录状态为未审批。
在本实施例的一些可选的实现方式中,装置300进一步包括合并单元(图中未画出)和接收与判断单元(图3中未画出)。合并单元配置用于若第三方平台的指示信息为通过时,合并对目标文件的更新内容与分布式版本控制系统Git的服务器中的目标文件的内容。接收与判断单元,配置用于接收并判断由服务器返回的合并的提示信息,若判断合并的提示信息为冲突,则发送合并冲突提示信息到用户预定联系方式中。若判断合并的提示信息为无冲突,则发送合并成功信息到用户预定的联系方式中。
在本实施例的一些可选的实现方式中,装置300进一步包括第二发送单元(图3中未画出),配置用于若第三方平台的指示信息为不通过时,发送更新内容的修改提示信息到用户的预定联系方式中。
在本实施例中的一些可选的实现方式中,第二接收单元304进一步配置用于,在接收到第三方平台对对目标文件的更新内容评审后的指示信息后,设置临时路径中的目标文件的评审记录状态为已审批。
在本实施例的一些可选的实现方式中,用户的身份信息可以为用来区分不同用户的邮箱地址或企业资源计划系统的账号。
下面参考图4,其示出了适于用来实现本申请实施例的服务器的计算机系统400的结构示意图。
如图4所示,计算机系统400包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM403中,还存储有系统400操作所需的各种程序和数据。CPU401、ROM402以及RAM403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口404:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口404。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括第一接收单元、临时路径创建单元、第一发送单元和第二接收单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一接收单元还可以被描述为“接收用户的评审请求信息的单元”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:接收用户的评审请求信息,所述评审请求信息包括对目标文件的更新内容、用户的身份信息及所述目标文件的路径,其中,所述目标文件为所述分布式版本控制系统Git的服务器中的文件;根据所述目标文件的路径及所述用户的身份信息创建临时路径,并将所述对目标文件的更新内容提交到所述临时路径中;发送对所述临时路径中的所述对目标文件的更新内容的待评审信息给第三方平台;接收所述第三方平台对所述对目标文件的更新内容的评审后的指示信息。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (18)

1.一种基于分布式版本控制系统Git的更新内容的评审方法,其特征在于,所述方法包括:
接收用户的评审请求信息,所述评审请求信息包括对目标文件的更新内容、用户的身份信息及所述目标文件的路径,其中,所述目标文件为所述分布式版本控制系统Git的服务器中的文件;
根据所述目标文件的路径及所述用户的身份信息创建临时路径,并将所述对目标文件的更新内容提交到所述临时路径中;
发送对所述临时路径中的所述对目标文件的更新内容的待评审信息给第三方平台;
接收所述第三方平台对所述对目标文件的更新内容的评审后的指示信息。
2.根据权利要求1所述的方法,其特征在于,在所述根据所述目标文件的路径及所述用户的身份信息创建临时路径之前,所述方法还包括:
判断是否存在在所述评审请求信息之前的、未处理的评审请求信息:
若存在在所述评审请求信息之前的、未处理的评审请求信息,则退出创建临时路径;
若不存在在所述评审请求信息之前的、未处理的评审请求信息,则执行创建临时路径。
3.根据权利要求2所述的方法,其特征在于,所述若不存在在所述评审请求信息之前的、未处理的评审请求信息,则创建临时路径包括:
在所述创建临时路径之前,删除已存在的与待创建的临时路径相同的临时路径。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括在将所述对目标文件的更新内容提交到临时路径中之前,克隆所述Git服务器中的所述目标文件到所述临时路径中;
所述将所述对目标文件的更新内容提交到临时路径中包括将所述更新内容提交到所述临时路径中的所述目标文件的内容中。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括在将所述对目标文件的更新内容提交到临时路径中之后,设置所述临时路径中的所述对目标文件的评审记录状态为未审批。
6.根据权利要求1任意一项所述的方法,其特征在于,若指示信息为通过,所述方法还包括:
合并所述对目标文件的更新内容与所述分布式版本控制系统Git的服务器中的所述目标文件的内容;
接收并判断由所述服务器返回的所述合并的提示信息,若判断所述合并的提示信息为冲突,则发送合并冲突提示信息给所述用户,若判断所述合并的提示信息为无冲突,则发送合并成功信息给所述用户。
7.根据权利要求1所述的方法,其特征在于,所述指示信息若为不通过,则所述方法还包括:发送更新内容修改提示信息给所述用户。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括在所述接收第三方平台对所述对目标文件的更新内容的评审后的指示信息后,设置所述临时路径中的所述对目标文件的评审记录状态为已审批。
9.根据权利要求1-8任意一项所述的方法,其特征在于,所述用户的身份信息为邮箱地址或企业资源计划系统的账号。
10.一种基于分布式版本控制系统Git的更新文件的评审装置,其特征在于,所述装置包括:
第一接收单元,配置用于接收用户的评审请求信息,所述评审请求信息包括对目标文件的更新内容、用户的身份信息及所述目标文件的路径,其中,所述目标文件为所述分布式版本控制系统Git的服务器中的文件;
临时路径创建单元,配置用于根据所述目标文件的路径及所述用户的身份信息创建临时路径,并将所述对目标文件的更新内容提交到临时路径中;
第一发送单元,配置用于发送对所述临时路径中的所述对目标文件的更新内容的待评审信息给第三方平台;
第二接收单元,配置用于接收第三方平台对所述对目标文件的更新内容的评审后的指示信息。
11.根据权利要求10所述的装置,其特征在于,所述临时路径创建单元进一步配置用于:
在创建临时路径之前,判断是否存在在所述评审请求信息之前的、未处理的评审请求信息:
若存在在所述评审请求信息之前的、未处理的评审请求信息,则退出创建临时路径;
若不存在在所述评审请求信息之前的、未处理的评审请求信息,则执行创建临时路径。
12.根据权利要求11所述的装置,其特征在于,若不存在在所述评审请求信息之前的、未处理的评审请求信息,所述临时创建单元进一步配置用于:
在所述创建临时路径之前,删除已存在的与待创建的临时路径相同的临时路径。
13.根据权利要求10所述的装置,其特征在于,所述临时路径创建单元进一步配置用于:
在将所述对目标文件的更新内容提交到临时路径中之前,克隆所述Git服务器中的所述目标文件到所述临时路径中;
将所述更新内容提交到所述临时路径中的所述目标文件的内容中。
14.根据权利要求10所述的装置,其特征在于,所述临时路径创建单元进一步配置用于,在将所述对目标文件的更新内容提交到临时路径中之后,设置所述临时路径中的所述对目标文件的评审记录状态为未审批。
15.根据权利要求10所述的装置,其特征在于,所述装置进一步包括
合并单元,配置用于若所述指示信息为通过,合并所述对目标文件的更新内容与所述分布式版本控制系统Git的服务器中的所述目标文件的内容;
接收与判断单元,配置用于接收并判断由所述服务器返回的所述合并的提示信息,若判断所述合并的提示信息为冲突,则发送合并冲突提示信息给所述用户,若判断所述合并的提示信息为无冲突,则发送合并成功信息给所述用户。
16.根据权利要求10所述的装置,其特征在于,所述装置进一步包括:
第二发送单元,配置用于若所述指示信息为不通过,则发送更新内容修改提示信息给所述用户。
17.根据权利要求10所述的装置,其特征在于,所述第二接收单元进一步配置用于,在所述接收第三方平台对所述对目标文件的更新内容的评审后的指示信息后,设置所述临时路径中的所述对目标文件的评审记录状态为已审批。
18.根据权利要求10-17任意一项所述的装置,其特征在于,所述用户的身份信息为邮箱地址或企业资源计划系统的账号。
CN201610037349.1A 2016-01-20 2016-01-20 基于分布式版本控制系统Git的更新内容的评审方法和装置 Active CN105739968B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610037349.1A CN105739968B (zh) 2016-01-20 2016-01-20 基于分布式版本控制系统Git的更新内容的评审方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610037349.1A CN105739968B (zh) 2016-01-20 2016-01-20 基于分布式版本控制系统Git的更新内容的评审方法和装置

Publications (2)

Publication Number Publication Date
CN105739968A true CN105739968A (zh) 2016-07-06
CN105739968B CN105739968B (zh) 2020-06-30

Family

ID=56246272

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610037349.1A Active CN105739968B (zh) 2016-01-20 2016-01-20 基于分布式版本控制系统Git的更新内容的评审方法和装置

Country Status (1)

Country Link
CN (1) CN105739968B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250264A (zh) * 2016-07-12 2016-12-21 乐视控股(北京)有限公司 用于分布式存储的数据恢复方法及系统
CN106648823A (zh) * 2016-12-30 2017-05-10 东软集团股份有限公司 代码发布的方法及装置
CN109104333A (zh) * 2018-08-21 2018-12-28 杭州安恒信息技术股份有限公司 基于git的分布式集群的同步方法和装置
CN109242403A (zh) * 2018-06-22 2019-01-18 平安科技(深圳)有限公司 一种需求管理方法及计算机设备
CN109271194A (zh) * 2018-08-22 2019-01-25 五八有限公司 基于分布式版本控制系统的分支访问方法和装置
CN109558318A (zh) * 2018-11-23 2019-04-02 北京车和家信息技术有限公司 一种代码管理方法和代码仓库分布式系统
CN109901876A (zh) * 2019-02-28 2019-06-18 携程旅游信息技术(上海)有限公司 代码评审方法、系统、设备及存储介质
CN110990035A (zh) * 2019-11-01 2020-04-10 中国人民解放军63811部队 一种基于Git的链式软件升级方法
CN111382988A (zh) * 2018-12-28 2020-07-07 浙江大学 一种针对开源项目的事件处理方法及装置
CN111831271A (zh) * 2020-07-20 2020-10-27 北京简单一点科技有限公司 一种支持模拟预合入流水线的Git代码评审系统及其方法
CN112860565A (zh) * 2021-02-24 2021-05-28 北京皮尔布莱尼软件有限公司 一种代码评审方法、系统、计算设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130239087A1 (en) * 2011-02-07 2013-09-12 International Business Machines Corporation Distributed, non-intrusive code review in a development environment
CN103473075A (zh) * 2013-09-23 2013-12-25 迈普通信技术股份有限公司 代码变更控制系统及方法
CN104636252A (zh) * 2015-01-04 2015-05-20 浪潮软件股份有限公司 基于SonarQube的在线代码审核方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130239087A1 (en) * 2011-02-07 2013-09-12 International Business Machines Corporation Distributed, non-intrusive code review in a development environment
CN103473075A (zh) * 2013-09-23 2013-12-25 迈普通信技术股份有限公司 代码变更控制系统及方法
CN104636252A (zh) * 2015-01-04 2015-05-20 浪潮软件股份有限公司 基于SonarQube的在线代码审核方法和系统

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250264A (zh) * 2016-07-12 2016-12-21 乐视控股(北京)有限公司 用于分布式存储的数据恢复方法及系统
CN106648823A (zh) * 2016-12-30 2017-05-10 东软集团股份有限公司 代码发布的方法及装置
CN106648823B (zh) * 2016-12-30 2019-12-10 东软集团股份有限公司 代码发布的方法及装置
CN109242403A (zh) * 2018-06-22 2019-01-18 平安科技(深圳)有限公司 一种需求管理方法及计算机设备
CN109242403B (zh) * 2018-06-22 2023-07-14 平安科技(深圳)有限公司 一种需求管理方法及计算机设备
CN109104333A (zh) * 2018-08-21 2018-12-28 杭州安恒信息技术股份有限公司 基于git的分布式集群的同步方法和装置
CN109104333B (zh) * 2018-08-21 2020-09-04 杭州安恒信息技术股份有限公司 基于git的分布式集群的同步方法和装置
CN109271194A (zh) * 2018-08-22 2019-01-25 五八有限公司 基于分布式版本控制系统的分支访问方法和装置
CN109558318B (zh) * 2018-11-23 2022-03-29 北京车和家信息技术有限公司 一种代码管理方法和代码仓库分布式系统
CN109558318A (zh) * 2018-11-23 2019-04-02 北京车和家信息技术有限公司 一种代码管理方法和代码仓库分布式系统
CN111382988A (zh) * 2018-12-28 2020-07-07 浙江大学 一种针对开源项目的事件处理方法及装置
CN109901876A (zh) * 2019-02-28 2019-06-18 携程旅游信息技术(上海)有限公司 代码评审方法、系统、设备及存储介质
CN110990035A (zh) * 2019-11-01 2020-04-10 中国人民解放军63811部队 一种基于Git的链式软件升级方法
CN111831271B (zh) * 2020-07-20 2023-07-07 北京简单一点科技有限公司 一种支持模拟预合入流水线的Git代码评审系统及其方法
CN111831271A (zh) * 2020-07-20 2020-10-27 北京简单一点科技有限公司 一种支持模拟预合入流水线的Git代码评审系统及其方法
CN112860565A (zh) * 2021-02-24 2021-05-28 北京皮尔布莱尼软件有限公司 一种代码评审方法、系统、计算设备及存储介质

Also Published As

Publication number Publication date
CN105739968B (zh) 2020-06-30

Similar Documents

Publication Publication Date Title
CN105739968A (zh) 基于分布式版本控制系统Git的更新内容的评审方法和装置
US20210333984A1 (en) Method and apparatus for generating customized visualization component
CN112036824A (zh) 业务审批方法、系统、存储介质及电子设备
CN106843976B (zh) 用于生成镜像文件的方法和装置
CN107302597B (zh) 消息文案推送方法和装置
CN113609834A (zh) 信息处理方法、装置、设备及介质
CN105101122A (zh) 验证码输入方法和装置
CN110401630B (zh) 交易凭证的验证方法、装置、电子设备和介质
CN110597888A (zh) 基于区块链的虚拟资源获取方法及装置、介质、设备
CN113344523A (zh) 数据处理方法方法及装置、电子设备和计算机可读存储介质
CN107203576A (zh) 信息同步方法和装置
CN111770128B (zh) 一种消息管理方法和装置
CN114118959A (zh) 审批目标对象的方法及装置、计算机存储介质、电子设备
JP7051243B2 (ja) 情報処理装置、情報処理方法及びプログラム
US7228128B2 (en) Automatic character code recognition/display system, method, and program using mobile telephone
CN110874316B (zh) 扫描代码的方法、装置和系统
US8341530B1 (en) Customer service center database management
CN116308171A (zh) 信息处理方法、装置、电子设备和存储介质
CN115801873A (zh) 服务发布方法、系统、电子设备及存储介质
CN113312900A (zh) 数据校验的方法和装置
CN112732260A (zh) 业务界面的生成方法、装置、可读介质以及设备
CN113806327A (zh) 一种数据库设计方法、装置及相关设备
CN111176718A (zh) 脚本上线方法、装置、存储介质及电子设备
CN110659982A (zh) 一种大额度业务授信的方法、装置和电子设备
CN116894133B (zh) 项目业务页面展示方法、装置、设备和计算机可读介质

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