CN114265634A - 基于集中式版本控制系统的文件提交方法和装置 - Google Patents
基于集中式版本控制系统的文件提交方法和装置 Download PDFInfo
- Publication number
- CN114265634A CN114265634A CN202111582921.XA CN202111582921A CN114265634A CN 114265634 A CN114265634 A CN 114265634A CN 202111582921 A CN202111582921 A CN 202111582921A CN 114265634 A CN114265634 A CN 114265634A
- Authority
- CN
- China
- Prior art keywords
- file
- program
- program file
- submitted
- branch
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000011161 development Methods 0.000 claims abstract description 37
- 238000003860 storage Methods 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 description 7
- 238000009826 distribution Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本申请实施例提供了一种基于集中式版本控制系统的文件提交方法和装置,通过遍历集中式版本控制系统TFVC开发分支中预先配置的提交文件列表,提交文件列表中包括多个程序文件;在遍历过程中,针对每个程序文件,判断程序文件是否为待提交程序文件;在程序文件为待提交程序文件时,将待提交程序文件复制到发布分支中,得到目标程序文件;在遍历完提交文件列表后,将发布分支中的所有目标程序文件签入至服务器中。本申请实施例提供的技术方案能够实现自动将程序文件提交到服务器中,节省提交文件花费的时间,从而有效的提升提交文件的效率。
Description
技术领域
本申请涉及文件处理技术领域,尤其涉及一种基于集中式版本控制系统的文件提交方法和装置。
背景技术
TFS(Microsoft Visual Studio Team Foundation Server)作为一种协作软件开发的源代码管理、数据收集、报告和项目跟踪的工具,在项目版本管理的过程中有着至关重要的作用。其主要使用集中式版本控制系统(Team Foundation Version Control,简称TFVC)对项目进行管理,在项目投产前需要将各项目待投产的程序文件由开发分支提交到发布分支,以完成待投产的程序文件的投产应用。
现有技术中,在将待投产的程序文件由开发分支提交到发布分支时,针对每个项目对应的待投产的程序文件,需要用户在开发分支中手动选取待投产的程序文件,并将选取的投产的程序文件提交到发布分支。
但是,在用户手动将开发分支中待投产的程序文件提交到发布分支时,需要耗费大量的时间,从而导致文件提交的效率较低。
发明内容
本申请实施例提供了一种基于集中式版本控制系统的文件提交方法和装置,能够实现文件的批量提交,从而有效的提升了文件提交的效率。
第一方面,本申请实施例提供了一种基于集中式版本控制系统的文件提交方法,所述基于集中式版本控制系统的文件提交方法包括:
遍历集中式版本控制系统TFVC开发分支中预先配置的提交文件列表,所述提交文件列表中包括多个程序文件;
在遍历过程中,针对每个所述程序文件,判断所述程序文件是否为待提交程序文件;
在所述程序文件为待提交程序文件时,将所述待提交程序文件复制到发布分支中,得到目标程序文件;
在遍历完所述提交文件列表后,将所述发布分支中的所有目标程序文件签入至服务器中。
可选的,所述程序文件包括程序文件标识;所述判断所述程序文件是否为待提交程序文件,包括:
根据所述程序文件的文件标识,在所述目标程序文件中确定出与所述程序文件的文件标识相同的目标程序文件;
判断所述程序文件的MD5值与所述目标程序文件的MD5值是否一致;
若不一致,则将所述程序文件确定为待提交程序文件。
可选的,所述方法还包括:
若所述程序文件的MD5值与所述目标程序文件的MD5值一致,则将所述程序文件确定为非待提交程序文件,并标识所述非待提交程序文件的版本状态为无更新状态。
可选的,所述将所述发布分支中的所有目标程序文件签入至服务器中,包括:
获取所述发布分支中的所有目标程序文件,并生成程序文件变更集;
将所述程序文件变更集签入至所述服务器中的集中式版本控制系统TFVC存储库。
可选的,所述方法还包括:
输出非待提交程序文件的文件存储路径和文件名称,并输出所述待提交程序文件的文件存储路径和文件名称。
可选的,在遍历TFS开发分支中预先配置的提交文件列表之前,所述方法包括:
获取用户输入的多个程序文件,将所述多个程序文件配置为提交文件列表。
第二方面,本申请实施例提供了一种基于集中式版本控制系统的文件提交装置,所述基于集中式版本控制系统的文件提交装置包括:
遍历模块,用于遍历集中式版本控制系统TFVC开发分支中预先配置的提交文件列表,所述提交文件列表中包括多个程序文件;
所述遍历模块,还用于在遍历过程中,针对每个所述程序文件,判断所述程序文件是否为待提交程序文件;
所述遍历模块,还用于在所述程序文件为待提交程序文件时,将所述待提交程序文件复制到发布分支中,得到目标程序文件;
签入模块,用于在遍历完所述提交文件列表后,将所述发布分支中的所有目标程序文件签入至服务器中。
可选的,所述程序文件包括程序文件标识;所述遍历模块,具体用于根据所述程序文件的文件标识,在所述目标程序文件中确定出与所述程序文件的文件标识相同的目标程序文件;判断所述程序文件的MD5值与所述目标程序文件的MD5值是否一致;并在不一致时,将所述程序文件确定为待提交程序文件。
可选的,所述遍历模块,具体用于在所述程序文件的MD5值与所述目标程序文件的MD5值一致时,将所述程序文件确定为非待提交程序文件,并标识所述非待提交程序文件的版本状态为无更新状态。
可选的,所述签入模块,具体用于获取所述发布分支中的所有目标程序文件,并生成程序文件变更集;将所述程序文件变更集签入至所述服务器中的集中式版本控制系统TFVC存储库。
可选的,所述装置还包括输出模块,所述输出模块,用于输出非待提交程序文件的文件存储路径和文件名称,并输出所述待提交程序文件的文件存储路径和文件名称。
可选的,所述装置还包括配置模块,所述配置模块,用于获取用户输入的多个程序文件,将所述多个程序文件配置为提交文件列表。
第三方面,本申请实施例还提供了一种电子设备,该电子设备包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现上述第一方面任一种可能的实现方式中所述的基于集中式版本控制系统的文件提交方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现上述第一方面任一种可能的实现方式中所述的基于集中式版本控制系统的文件提交方法。
第五方面,本申请实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,实现上述第一方面任一种可能的实现方式中所述的基于集中式版本控制系统的文件提交方法。
由此可见,本申请实施例提供了基于集中式版本控制系统的文件提交方法和装置,通过遍历集中式版本控制系统TFVC开发分支中预先配置的提交文件列表,提交文件列表中包括多个程序文件;在遍历过程中,针对每个程序文件,判断程序文件是否为待提交程序文件;在程序文件为待提交程序文件时,将待提交程序文件复制到发布分支中,得到目标程序文件;在遍历完提交文件列表后,将发布分支中的所有目标程序文件签入至服务器中。本申请实施例提供的技术方案通过遍历集中式版本控制系统TFVC开发分支中预先配置的提交文件列表,确定出所有目标程序文件,不需要用户手动进行提交目标程序文件。并且通过将所有目标程序文件签入至服务器中,能够将所有目标程序文件批量签入至服务器中,实现了程序文件的自动提交,避免了用户手动提交文件浪费大量时间的问题,从而有效的提升了文件提交的效率。
附图说明
图1为本申请实施例提供的一种基于集中式版本控制系统的文件提交的应用场景示意图;
图2为本申请实施例提供的一种基于集中式版本控制系统的文件提交方法的流程示意图;
图3为本申请实施例提供的另一种基于集中式版本控制系统的文件提交方法的流程示意图;
图4为本申请实施例提供的一种基于集中式版本控制系统的文件提交装置的结构示意图;
图5为本申请提供的一种电子设备结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本申请的实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。在本申请的文字描述中,字符“/”一般表示前后关联对象是一种“或”的关系。
本申请实施例提供的技术方案可以应用于文件提交的场景中。特别是基于源代码管理工具TFS中TFVC进行文件的提交的场景。在项目投产前,需要将开发分支中的程序文件提交到发布分支,以实现项目的投产和应用。
目前,在将开发分支中的程序文件提交到发布分支时,需要用户手动完成提交,具体的,用户在开发分支中确定出需要提交到发布分支的程序文件,通过点击终端设备显示界面上相应的控件实现将开发分支的程序文件提交到发布分支。
但是,用户手动提交程序文件时,可能需要多次点击终端设备显示界面上的控件,当存在多个程序文件需要提交时,可能会花费大量的时间,从而导致文件提交的效率较低,影响工作流程。
为了解决由于手动提交文件导致文件提交的效率较低的问题,考虑到使用TFVC存储库管理程序文件的项目,在从开发分支提交到发布分支时,通常需要应用级配置管理员进行集中管控,也就是说,程序文件在开发、测试、提交的流程相对固定,这种重复性的操作具备自动化执行的条件。因此,可以通过遍历开发分支中预先配置的包括多个程序文件的提交文件列表,依次判断出多个程序文件中的待提交文件,将待提交程序文件复制到发布分支,并签入到服务器中,从而完成程序文件的自动提交。上述文件的提交方法不需要用户进行手动提交,节省了大量的时间,从而有效的提升了文件提交的效率。
图1为本申请实施例提供的一种基于集中式版本控制系统的文件提交的应用场景示意图。在图1中,终端设备101、终端设备102和终端设备103均可以获取服务器104中的开发分支和发布分支,能够在开发分支中对程序文件进行编写或修改,得到待投产的程序文件。
示例的,终端设备101、终端设备102和终端设备103可能生成不同待投产文件,配置管理员可以在终端设备101、终端设备102和终端设备103中的任一个中,对终端设备101、终端设备102和终端设备103中发布分支中的程序文件进行汇总,得到提交文件列表。通过遍历提交文件列表,依次判断提交文件列表中的程序文件是否为待提交文件,并将待提交程序文件复制到发布分支,在将所有的待提交程序文件复制到发布分支后,将发布分支中所有待投产的程序文件签入至服务器104中,以完成程序文件的提交。
示例的,在将待投产的程序文件签入至服务器104中,终端设备101、终端设备102和终端设备103均可以接收到服务器104返回的签入结果,用户可以通过返回的签入结果确定编写或修改的待投产文件是否提交成功。
可以理解的是,本申请实施例仅以图1为例进行说明,但并不代表本申请实施例仅局限于此。
因此,本申请实施例提供的技术方案能够将待投产程序文件批量签入至服务器中,实现了文件的自动提交,节省了文件提交的时间,从而提升了文件提交的效率。
下面,将通过具体的实施例对本申请提供的基于集中式版本控制系统的文件提交方法进行详细地说明。可以理解的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本申请实施例提供的一种基于集中式版本控制系统的文件提交方法的流程示意图。该基于集中式版本控制系统的文件提交方法可以由软件和/或硬件装置执行,例如,该硬件装置可以为基于集中式版本控制系统的文件提交装置,该基于集中式版本控制系统的文件提交装置可以为终端或者终端中的处理芯片。示例的,请参见图2所示,该基于集中式版本控制系统的文件提交方法可以包括:
S201、遍历集中式版本控制系统TFVC开发分支中预先配置的提交文件列表,提交文件列表中包括多个程序文件。
在遍历TFS开发分支中预先配置的提交文件列表之前,需要配置提交文件列表,示例的,在配置提交文件时,可以获取用户输入的多个程序文件,将多个程序文件配置为提交文件列表。
可以理解的是,提交文件列表中的多个程序文件可以为同一个终端设备的发布分支中的,也可以为多个终端设备的发布分支中的,本申请实施例对此不做任何限定。
示例的,提交文件列表可以为excel文档,也可以为其他的形式,本申请实施例对此不做任何限定。
在本申请实施例中,通过配置提交文件列表可以实现对多个程序文件进行处理,能够避免用户对多个程序文件进行依次处理,能够节省文件提交的时间,从而提升文件提交的效率。
S202、在遍历过程中,针对每个程序文件,判断程序文件是否为待提交程序文件。
示例的,程序文件包括程序文件标识;在判断程序文件是否为待提交程序文件时,可以根据程序文件的文件标识,在目标程序文件中确定出与程序文件的文件标识相同的目标程序文件;判断程序文件的MD5值与目标程序文件的MD5值是否一致;若不一致,则将程序文件确定为待提交程序文件。
示例的,程序文件的标识可以为程序的名称,也可以为编码,本申请实施例对此不做任何限定。程序文件的MD5值与该程序文件在发布分支对应的目标程序文件的MD5值不一致时,表示程序文件相对于目标程序文件存在修改,因此,将程序文件确定为待提交程序文件。
可以理解的是,MD5值是通过MD5信息摘要算法(Message-Digest Algorithm,简称MD5)计算得到的,MD5信息摘要算法是一种被广泛使用的密码散列函数,可以产生出一个128位的散列值,能够用于确保信息传输完整一致。
在本申请实施例中,通过MD5值能够准确地确定出程序文件是否为待提交文件,进而对程序文件进行相应的操作,能够避免对非待提交程序文件进行操作而浪费时间,从而有效的提升文件提交的准确度。
示例的,若程序文件的MD5值与目标程序文件的MD5值一致,则将程序文件确定为非待提交程序文件,并标识非程序文件的版本状态为无更新状态。
可以理解的是,程序文件的MD5值与该程序文件在发布分支对应的目标程序文件的MD5值一致时,表示程序文件与目标程序文件相同,也就是说,程序文件未被修改,即未更新。
示例的,在标识程序文件的版本状态为无更新状态时,可以对非待提交程序文件的文件名称进行标识,例如,修改非提交程序文件的名称为无更新-文件名称,本申请实施例仅以对非待提交程序文件的文件名称进行标识为例进行说明,但并不代表本申请实施例仅局限于此。
示例的,在标识程序文件的版本状态为无更新状态时,还可以将非待提交程序文件的文件存储路径和文件名称保存到无更新文件列表或非待提交程序文件列表中。其中,无更新文件可以为表格的形式,例如excel表格,或者其他方式,本申请实施例对此不做任何限定。示例的,无更新文件可以在每加入一个非待提交程序文件时进行输出,也可以在遍历完所有程序文件后输出无更新文件,本申请实施例对此不做任何限定。
在另一种可能的实现方式中,在确定程序文件的版本状态为无更新状态时,可以直接输出程序文件的文件路径,和/或,文件名称,本申请实施例对于具体的输出内容不做任何限定。
在本申请实施例中,通过确定出非待提交程序文件并标识非程序文件的版本状态为无更新状态,使得配置管理员能够了解程序文件是否为待提交文件,以便于对文件的提交过程进行监视或后期的检查,从而提升文件提交的准确度。
在程序文件为待提交文件时,执行下述步骤S203:
S203、在程序文件为待提交程序文件时,将待提交程序文件复制到发布分支中,得到目标程序文件。
示例的,在将待提交程序文件复制到发布分支中,将待提交程序文件从开发分支映射的目录复制到发布分支映射的目录,得到目标程序文件,本申请实施例仅以此为例进行说明,但并不代表本申请实施例仅局限于此。
可以理解的是,将待提交程序文件复制到发布分支中是在本地终端设备上完成的,本申请实施例对于具体的复制过程不做任何限定。
S204、在遍历完提交文件列表后,将发布分支中的所有目标程序文件签入至服务器中。
示例的,在将发布分支中的所有目标程序文件签入至服务器中时,可以获取发布分支中的所有目标程序文件,并生成程序文件变更集;将程序文件变更集签入至服务器中的集中式版本控制系统TFVC存储库。
在本申请实施例中,通过将包含所有目标程序文件的程序文件变更集签入至服务器中,实现了将所有目标程序文件批量签入至服务器中,能够缩短提交文件所需要的时间,从而提升了文件提交的效率。
由此可见,本申请实施例提供的基于集中式版本控制系统的文件提交方法,通过遍历集中式版本控制系统TFVC开发分支中预先配置的提交文件列表,提交文件列表中包括多个程序文件;在遍历过程中,针对每个程序文件,判断程序文件是否为待提交程序文件;在程序文件为待提交程序文件时,将待提交程序文件复制到发布分支中,得到目标程序文件;在遍历完提交文件列表后,将发布分支中的所有目标程序文件签入至服务器中。本申请实施例提供的技术方案通过遍历集中式版本控制系统TFVC开发分支中预先配置的提交文件列表,确定出所有目标程序文件,并将所有目标程序文件签入至服务器中,实现了自动提交程序文件,避免了用户手动提交文件浪费大量时间的问题,并能够将所有目标程序文件批量签入至服务器中,从而有效的提升了文件提交的效率。
在本申请的另一实施例中,本申请实施例还可以输出非待提交程序文件的文件存储路径和文件名称,并输出待提交程序文件的文件存储路径和文件名称。
示例的,根据上述实施例所述,在输出非待提交程序文件的文件存储路径和文件名称时,将非待提交程序文件的文件存储路径和文件名称保存到无更新文件列表或非待提交程序文件列表中,例如excel表格,输出无更新文件列表或非待提交程序文件列表。因此,在输出待提交程序文件的文件存储路径和文件名称时,可以将待提交程序文件的文件存储路径和文件名称保存到已复制文件列表或待提交程序文件列表中,例如excel表格,输出已复制文件列表或待提交程序文件列表。
可以理解的,本申请实施例仅以上述输出方式为例进行说明但并不代表本申请实施例仅局限于此。
示例的,在输出非待提交程序文件的文件存储路径和文件名称时,可以在每确定出一个非待提交程序文件时输出,也可以在遍历完提交文件列表后输出。此外,在输出待提交程序文件的文件存储路径和文件名称时,可以在每确定出一个待提交程序文件时输出,也可以在遍历完提交文件列表后输出。本申请实施例对于输出非待提交程序文件的文件存储路径和文件名称,以及输出待提交程序文件的文件存储路径和文件名称的具体时间不做任何限定。
在本申请实施例中,通过输出非待提交程序文件的文件存储路径和文件名称,并输出待提交程序文件的文件存储路径和文件名称,使得管理人员能够及时对提交的文件,即待提交文件进行复核,确定是否已经将全部的待提交文件提交至服务器中,能够提升文件提交的准确度。
为了便于理解本申请实施例提供的基于集中式版本控制系统的文件提交方法,下面,将对本申请实施例提供的技术方案进行详细的描述,具体的可参见图3所示,图3为本申请实施例提供的另一种基于集中式版本控制系统的文件提交方法的流程示意图。该基于集中式版本控制系统的文件提交方法可以包括下述步骤:
步骤1、配置并导入文件列表。
示例的,文件列表中包括多个程序文件。在配置文件列表时,可以由配置管理人员手动配置文件列表,也可以自动获取多个程序文件,从而配置成文件列表,本申请实施例对此不做任何限定。
示例的,在导入文件列表时,可以直接将配置好的文件列表直接导入系统,从而执行自动提交流程。
步骤2、系统读取文件列表。
示例的,系统在获取文件列表后,读取文件列表,依次获取文件列表中的程序文件。在依次获取文件列表中的程序文件时,可以根据文件列表中存储的多个程序文件的存储时长从小到大或者从大到小的顺序依次获取,也可以根据程序文件的文件名称依次获取,或者其他方式,本申请实施例对于读取文件列表获取程序文件的具体方法不做任何限定。
步骤3、判断文件列表是否读取完成,若未读取完成,则执行步骤4,若读取完成,则执行步骤7。
示例的,在每读取一个文件列表中的程序文件后,可以判断文件列表是否读取完成,若未读取完成,则需要继续读取程序文件,若读取完成,则表示在处理完当前读取的程序文件后,不再读取文件列表。
步骤4、计算程序文件在开发分支中的MD5值和在发布分支的MD5值。
示例的,在若读取完成时,需要对当前读取的程序文件进行处理,即计算当前读取的程序文件在开发分支中的MD5值和在发布分支的MD5值。具体的计算方法可参见上述实施例所述,本申请实施例对此不作任何限定。计算开发分支和发布分支上该文件的md5值,如果值相同,则直接将文件路径和文件名输出到文本文件,并标识该文件基于上次发布生产的版本无更新;如果md5值不同,则将该文件从开发分支映射的目录复制到发布分支映射的目录,将文件路径和文件名输出到文本文件,并标识文件已复制。所有文件处理完成后,执行变更集的签入。
步骤5、判断MD5值是否一致,若不一致,则执行步骤6,若一致,则执行步骤7。
示例的,若MD5值一致,则表示当前读取的程序文件在开发分支中和在发布分支中存储的相同,即当前读取的程序文件不存在版本更新。若MD5值不一致,则表示当前读取的程序文件存在更新,即开发分支中的版本高于发布分支的版本。
步骤6、将程序文件从开发分支复制到发布分支。
示例的,由于在终端设备中,开发分支和发布分支仅存在其映射的目录,因此,在将程序文件从开发分支复制到发布分支时,可以将程序文件从开发分支映射的目录复制到发布分支映射的目录,并标识文件的状态为已复制。
步骤7、输出结果文件。
示例的,在文件列表读取完成时,可以输出结果文件,此时,该结果文件可以包括已复制文件和未复制文件,已复制文件中可以包括MD5值不一致的程序文件的文件名称和文件存储路径,未复制文件中可以包括MD5值一致的程序文件的文件名称和文件存储路径,本申请实施例对此不做任何限定。
示例的,每次判断MD5值一致或MD5值不一致的程序文件时,均可以输出该程序文件的文件存储路径和文件名称,且需要标识该程序文件为无更新状态还是已复制状态。
步骤8、将发布分支中的程序文件批量签入至服务器。
示例的,在读取完文件列表后,可以将发布分支中的程序文件批量签入至服务器中,该服务器可以为TFS服务器。此外,在将发布分支中的程序文件批量签入至服务器时,可以通过TFS提供的API接口进行签入,本申请实施例对此不做任何限定。
步骤9、输出签入结果。
示例的,签入结果可以包括签入成功的程序文件的文件名称和签入失败的程序文件的文件名称,使得配置管理人员能够根据签入结果确定程序文件的提交结果,从而对文件提交进行核验。
综上所述,本申请实施例提供的技术方案,针对使用TFVC管理程序版本的项目,在提交投产程序文件时,实现了从导入列表文件到自动化提交的全流程处理逻辑,包括MD5值的比较、各类程序文件处理结果的记录、程序文件批量签入等,即使得TFVC存储库发布分支中程序文件的提交过程实现了自动化处理,节省了大量的时间,从而有效的提高了文件提交的效率。
图4为本申请实施例提供的一种基于集中式版本控制系统的文件提交装置40的结构示意图,示例的,请参见图4所示,该基于集中式版本控制系统的文件提交装置40可以包括:
遍历模块401,用于遍历集中式版本控制系统TFVC开发分支中预先配置的提交文件列表,提交文件列表中包括多个程序文件。
遍历模块401,还用于在遍历过程中,针对每个程序文件,判断程序文件是否为待提交程序文件。
遍历模块401,还用于在程序文件为待提交程序文件时,将待提交程序文件复制到发布分支中,得到目标程序文件。
签入模块402,用于在遍历完提交文件列表后,将发布分支中的所有目标程序文件签入至服务器中。
可选的,程序文件包括程序文件标识;遍历模块401,具体用于根据程序文件的文件标识,在目标程序文件中确定出与程序文件的文件标识相同的目标程序文件;判断程序文件的MD5值与目标程序文件的MD5值是否一致;并在不一致时,将程序文件确定为待提交程序文件。
可选的,遍历模块401,具体用于在程序文件的MD5值与目标程序文件的MD5值一致时,将程序文件确定为非待提交程序文件,并标识非待提交程序文件的版本状态为无更新状态。
可选的,签入模块402,具体用于获取发布分支中的所有目标程序文件,并生成程序文件变更集;将程序文件变更集签入至服务器中的集中式版本控制系统TFVC存储库。
可选的,装置还包括输出模块403,输出模块403,用于输出非待提交程序文件的文件存储路径和文件名称,并输出待提交程序文件的文件存储路径和文件名称。
可选的,装置还包括配置模块404,配置模块404,用于获取用户输入的多个程序文件,将多个程序文件配置为提交文件列表。
本申请实施例提供的基于集中式版本控制系统的文件提交装置,可以执行上述任一实施例中的基于集中式版本控制系统的文件提交方法的技术方案,其实现原理以及有益效果与基于集中式版本控制系统的文件提交方法的实现原理及有益效果类似,可参见基于集中式版本控制系统的文件提交方法的实现原理及有益效果,此处不再进行赘述。
图5为本申请提供的一种电子设备结构示意图。如图5所示,该电子设备500可以包括:至少一个处理器501和存储器502。
存储器502,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。
存储器502可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器501用于执行存储器502存储的计算机执行指令,以实现前述方法实施例所描述的基于集中式版本控制系统的文件提交方法。其中,处理器501可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application SpecificIntegrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。具体的,在实现前述方法实施例所描述的基于集中式版本控制系统的文件提交方法时,该电子设备例如可以是终端、服务器等具有处理功能的电子设备。
可选的,该电子设备500还可以包括通信接口503。在具体实现上,如果通信接口503、存储器502和处理器501独立实现,则通信接口503、存储器502和处理器501可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry StandardArchitecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果通信接口503、存储器502和处理器501集成在一块芯片上实现,则通信接口503、存储器502和处理器501可以通过内部接口完成通信。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或者光盘等各种可以存储程序代码的介质,具体的,该计算机可读存储介质中存储有程序指令,程序指令用于上述实施例中的方法。
本申请还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。电子设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得电子设备实施上述的各种实施方式提供的基于集中式版本控制系统的文件提交方法。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种基于集中式版本控制系统的文件提交方法,其特征在于,包括:
遍历集中式版本控制系统TFVC开发分支中预先配置的提交文件列表,所述提交文件列表中包括多个程序文件;
在遍历过程中,针对每个所述程序文件,判断所述程序文件是否为待提交程序文件;
在所述程序文件为待提交程序文件时,将所述待提交程序文件复制到发布分支中,得到目标程序文件;
在遍历完所述提交文件列表后,将所述发布分支中的所有目标程序文件签入至服务器中。
2.根据权利要求1所述的方法,其特征在于,所述程序文件包括程序文件标识;
所述判断所述程序文件是否为待提交程序文件,包括:
根据所述程序文件的文件标识,在所述目标程序文件中确定出与所述程序文件的文件标识相同的目标程序文件;
判断所述程序文件的MD5值与所述目标程序文件的MD5值是否一致;
若不一致,则将所述程序文件确定为待提交程序文件。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述程序文件的MD5值与所述目标程序文件的MD5值一致,则将所述程序文件确定为非待提交程序文件,并标识所述非待提交程序文件的版本状态为无更新状态。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述将所述发布分支中的所有目标程序文件签入至服务器中,包括:
获取所述发布分支中的所有目标程序文件,并生成程序文件变更集;
将所述程序文件变更集签入至所述服务器中的集中式版本控制系统TFVC存储库。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
输出非待提交程序文件的文件存储路径和文件名称,并输出所述待提交程序文件的文件存储路径和文件名称。
6.根据权利要求1-3任一项所述的方法,其特征在于,在遍历TFS开发分支中预先配置的提交文件列表之前,所述方法包括:
获取用户输入的多个程序文件,将所述多个程序文件配置为提交文件列表。
7.一种基于集中式版本控制系统的文件提交装置,其特征在于,包括:
遍历模块,用于遍历集中式版本控制系统TFVC开发分支中预先配置的提交文件列表,所述提交文件列表中包括多个程序文件;
所述遍历模块,还用于在遍历过程中,针对每个所述程序文件,判断所述程序文件是否为待提交程序文件;
所述遍历模块,还用于在所述程序文件为待提交程序文件时,将所述待提交程序文件复制到发布分支中,得到目标程序文件;
签入模块,用于在遍历完所述提交文件列表后,将所述发布分支中的所有目标程序文件签入至服务器中。
8.一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-6中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-6任一项所述的方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时,实现上述权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111582921.XA CN114265634A (zh) | 2021-12-22 | 2021-12-22 | 基于集中式版本控制系统的文件提交方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111582921.XA CN114265634A (zh) | 2021-12-22 | 2021-12-22 | 基于集中式版本控制系统的文件提交方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114265634A true CN114265634A (zh) | 2022-04-01 |
Family
ID=80829419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111582921.XA Pending CN114265634A (zh) | 2021-12-22 | 2021-12-22 | 基于集中式版本控制系统的文件提交方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114265634A (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030182652A1 (en) * | 2001-12-21 | 2003-09-25 | Custodio Gabriel T. | Software building and deployment system and method |
US20110099549A1 (en) * | 2009-10-27 | 2011-04-28 | Verizon Patent And Licensing Inc. | Methods, systems and computer program products for a reminder manager for project development |
US20130198854A1 (en) * | 2008-07-25 | 2013-08-01 | Charles Christopher Erway | Apparatus, methods, and computer program products providing dynamic provable data possession |
CN103546582A (zh) * | 2013-11-12 | 2014-01-29 | 北京京东尚科信息技术有限公司 | 一种备份服务器的应用服务的方法、装置及系统 |
CN103713928A (zh) * | 2013-12-31 | 2014-04-09 | 优视科技有限公司 | 增量文件生成方法、应用程序安装文件更新方法及装置 |
CN104077217A (zh) * | 2013-03-28 | 2014-10-01 | 腾讯科技(深圳)有限公司 | 代码文件的编译发布方法及系统 |
CN106547573A (zh) * | 2016-12-06 | 2017-03-29 | 恒生电子股份有限公司 | 一种程序文件对比方法及装置 |
CN109753785A (zh) * | 2019-01-14 | 2019-05-14 | 网易(杭州)网络有限公司 | 一种数字签名检测方法、装置、电子设备和存储介质 |
CN109766114A (zh) * | 2019-01-15 | 2019-05-17 | 网易(杭州)网络有限公司 | 一种补丁文件的处理方法和装置 |
CN109840092A (zh) * | 2018-12-24 | 2019-06-04 | 苏州蜗牛数字科技股份有限公司 | 一种编译和发布版本方法 |
CN111190637A (zh) * | 2019-07-24 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 一种版本文件发布的管理方法、装置以及系统 |
CN111580802A (zh) * | 2020-04-30 | 2020-08-25 | 完美世界(北京)软件科技发展有限公司 | 持续集成方法、基于分布式编译的持续集成方法及系统 |
CN113050986A (zh) * | 2021-04-22 | 2021-06-29 | 上海哔哩哔哩科技有限公司 | 对象管理方法及装置 |
CN113094076A (zh) * | 2021-03-16 | 2021-07-09 | 杭州电魂网络科技股份有限公司 | 基于版本控制的版本迭代方法、装置、设备及介质 |
-
2021
- 2021-12-22 CN CN202111582921.XA patent/CN114265634A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030182652A1 (en) * | 2001-12-21 | 2003-09-25 | Custodio Gabriel T. | Software building and deployment system and method |
US20130198854A1 (en) * | 2008-07-25 | 2013-08-01 | Charles Christopher Erway | Apparatus, methods, and computer program products providing dynamic provable data possession |
US20110099549A1 (en) * | 2009-10-27 | 2011-04-28 | Verizon Patent And Licensing Inc. | Methods, systems and computer program products for a reminder manager for project development |
CN104077217A (zh) * | 2013-03-28 | 2014-10-01 | 腾讯科技(深圳)有限公司 | 代码文件的编译发布方法及系统 |
CN103546582A (zh) * | 2013-11-12 | 2014-01-29 | 北京京东尚科信息技术有限公司 | 一种备份服务器的应用服务的方法、装置及系统 |
CN103713928A (zh) * | 2013-12-31 | 2014-04-09 | 优视科技有限公司 | 增量文件生成方法、应用程序安装文件更新方法及装置 |
CN106547573A (zh) * | 2016-12-06 | 2017-03-29 | 恒生电子股份有限公司 | 一种程序文件对比方法及装置 |
CN109840092A (zh) * | 2018-12-24 | 2019-06-04 | 苏州蜗牛数字科技股份有限公司 | 一种编译和发布版本方法 |
CN109753785A (zh) * | 2019-01-14 | 2019-05-14 | 网易(杭州)网络有限公司 | 一种数字签名检测方法、装置、电子设备和存储介质 |
CN109766114A (zh) * | 2019-01-15 | 2019-05-17 | 网易(杭州)网络有限公司 | 一种补丁文件的处理方法和装置 |
CN111190637A (zh) * | 2019-07-24 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 一种版本文件发布的管理方法、装置以及系统 |
CN111580802A (zh) * | 2020-04-30 | 2020-08-25 | 完美世界(北京)软件科技发展有限公司 | 持续集成方法、基于分布式编译的持续集成方法及系统 |
CN113094076A (zh) * | 2021-03-16 | 2021-07-09 | 杭州电魂网络科技股份有限公司 | 基于版本控制的版本迭代方法、装置、设备及介质 |
CN113050986A (zh) * | 2021-04-22 | 2021-06-29 | 上海哔哩哔哩科技有限公司 | 对象管理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115599437B (zh) | 一种软件版本的处理方法、装置、电子设备及存储介质 | |
CN111273942A (zh) | 一种代码生成方法、存储介质、电子设备及系统 | |
CN111367890A (zh) | 一种数据迁移的方法、装置、计算机设备及可读存储介质 | |
CN108121774B (zh) | 一种数据表备份方法及终端设备 | |
CN111290738A (zh) | 应用程序的资源处理方法、装置、设备及存储介质 | |
CN110865806B (zh) | 代码处理方法、装置、服务器及存储介质 | |
CN111435367A (zh) | 知识图谱的构建方法、系统、设备及存储介质 | |
CN110633258A (zh) | 日志插入方法、装置、计算机装置及存储介质 | |
CN112947907B (zh) | 一种创建代码分支的方法 | |
CN110795259A (zh) | 一种分析应用崩溃的方法和装置 | |
CN116302079A (zh) | 一种业务数据处理方法、装置、电子设备及存储介质 | |
CN114265634A (zh) | 基于集中式版本控制系统的文件提交方法和装置 | |
CN114168275B (zh) | 任务调度方法、系统、终端设备及存储介质 | |
CN114841281A (zh) | 一种数据表的识别方法、装置、设备、介质及程序产品 | |
CN108334394B (zh) | 多语言软件系统基础数据的多语言处理方法与装置 | |
CN112559331A (zh) | 测试方法和装置 | |
CN111142965A (zh) | 语言配置方法、装置、电子设备及存储介质 | |
CN112667659B (zh) | 特征加工方法及相关设备 | |
CN117251155A (zh) | 一种低代码数据处理方法、装置、设备及介质 | |
CN110837536B (zh) | 一种信息处理方法、装置和存储介质 | |
CN111966353A (zh) | 一种作业开发方法、装置、电子设备及存储介质 | |
CN114924978A (zh) | 基于人工智能的多分支增量检查方法及相关设备 | |
CN112632101A (zh) | 脚本生成方法、装置、计算机设备及存储介质 | |
CN115129355A (zh) | 页面修复方法及其系统、计算机设备 | |
CN116595954A (zh) | 条目编辑的方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |