一种软件源代码差异文件提取方法技术

技术编号:15638852 阅读:126 留言:0更新日期:2017-06-15 19:50
本发明专利技术提供软件源代码差异文件提取方法,方法包括:从软件版本服务器上同步目标工作目录到本地进行修改;生成所述目标工作目录的差异文件列表;读取差异文件列表,获得绝对路径;提取差异文件。本发明专利技术实现了软件源代码差异文件的快速提取,提高了源代码的审核效率。

【技术实现步骤摘要】
一种软件源代码差异文件提取方法
本专利技术涉及软件
,尤其涉及一种软件源代码差异文件提取方法。
技术介绍
目前的软件越来越大,结构越来越复杂,开发工作量越来越大,因此,在大型软件开发中通常采用团队协作开发的模式,并通过版本服务器(例如SVN)来对版本进行控制,以便进行管理。当从SVN服务器远程目录同步一份目标工作目录到本地进行修改,修改完成后,在上传更新到SVN服务器之前需要经过管理员的审核比较。当目标工作目录内容很大(例如几个GB)且其中有很多层子目录时,如果将整个目标工作目录拷贝传给管理员将很耗时并且不方便,如果只将几个修改了的文件发给管理员虽然会快捷很多,但必须将每个文件的目录结构路径同时告诉管理员,管理员还需要根据每个文件的位置与服务器对应位置的文件进行比较上传,同样也很繁琐,效率低下。
技术实现思路
本专利技术提供一种软件源代码差异文件提取方法,旨在解决现有技术中的缺陷,实现软件源代码差异文件的快速提取,提高了源代码的审核效率。为达到上述目的,本专利技术所采取的技术方案为:本专利技术提供一种软件源代码差异文件提取方法,包括:从软件版本服务器上同步目标工作目录到本地进行修改;生成所述目标工作目录的差异文件列表;读取差异文件列表,获得绝对路径;提取差异文件。具体地,所述生成所述目标工作目录的差异文件列表的步骤,包括如下步骤:提取所述目标工作目录的差异文件;生成差异文件列表。具体地,所述提取差异文件使用函数CopyFile()来实现。具体地,所述提取差异文件使用函数SHFileOperation()来实现。具体地,所述读取差异文件列表,获得绝对路径的步骤包括:按行读取的方式逐行读取每项差异文件的相对文件路径,与源目录中的路径组合成得到该差异文件的绝对路径。具体地,所述提取差异文件的步骤,包括如下步骤:确定所述差异文件的源文件路径;确定目标文件路径;按照所述差异文件的源文件目录结构提取差异文件到所述目标文件路径下。具体地,所述软件版本服务器为SVN服务器。本专利技术的有益效果在于:本专利技术通过生成目标工作目录的差异文件列表,获得绝对路径,然后提取差异文件,从而实现了快速提取软件源代码差异文件的技术效果,大大提高了管理员的审核效率。附图说明图1是本专利技术的软件源代码差异文件提取方法的流程示意图;图2是本专利技术生成差异文件列表的示意图;图3是本专利技术差异文件的相对文件路径的示意图;图4是本专利技术提取后的差异文件的示意图。具体实施方式下面结合附图具体阐明本专利技术的实施方式,附图仅供参考和说明使用,不构成对本专利技术专利保护范围的限制。如图1所示,本专利技术的实施例一方面提供一种软件源代码差异文件提取方法,包括:步骤1、从软件版本服务器上同步目标工作目录到本地进行修改。具体地,所述软件版本服务器为SVN服务器。SVN是Subversion的简称,是一个开放源代码的版本控制系统,目前已广泛应用在软件开发工程中。步骤2、生成所述目标工作目录的差异文件列表。具体地,步骤2包括如下步骤:步骤201、提取所述目标工作目录的差异文件。在具体实施时,如图2所示,所述目标工作目录从SVN服务器上同步到本地修改完成后,通过SVNCOMMIT命令提交,SVN会自动将修改过的存在差异的文件提取出来。步骤202、生成差异文件列表。具体地,所述差异文件列表为一包含相对文件路径信息的列表。在具体实施时,选中目标提交文件,在SVN菜单中选择“复制路径信息到剪贴板(Copypathstoclipboard)”命令,将所述目标提交文件的相对文件路径信息提取到差异文件列表DiffFileList.dat中,生成差异文件列表,如图3所示。步骤3、读取差异文件列表,获得绝对路径。在所述差异文件列表清单中,每一行都是一个差异文件的相对文件路径。通过按行读取的方式逐行读取每项差异文件的相对文件路径,与源目录中的路径组合成得到该差异文件的绝对路径。步骤4、提取差异文件。提取差异文件是将包含所述绝对路径的文件提取复制到对应的目标路径中。具体地,提取差异文件可以使用函数CopyFile()来实现。但是,函数CopyFile在复制文件时,需要确保路径存在才能复制成功,因此需要自己判断目标路径文件夹是否存在,不存在则需自己逐级创建,使用起来比较麻烦。进一步地,提取差异文件可以使用函数SHFileOperation()来实现。函数SHFileOperation是一种外壳函数,用它可以实现各种文件操作,如文件的拷贝、删除、移动等。函数SHFileOperation()只有一个指向SHFILEOPSTRUCT结构参数,使用时只要填写所述结构参数SHFILEOPSTRUCT告诉系统需执行的操作,以及其它重要信息,并且当复制的目标文件路径不存在时,它会自动创建相应的文件路径完成拷贝。具体而言,包括如下步骤:步骤401、确定所述差异文件的源文件路径。步骤402、确定目标文件路径。步骤403、按照所述差异文件的源文件目录结构提取差异文件到所述目标文件路径下。如图4所示,可以看到在目标文件路径下,差异文件已经按照差异文件的源文件目录结构被提取出来了。在将目标工作目录上传到SVN服务器之前,将这个包含所述差异文件的文件夹发给管理员进行审核。由于这个包含所述差异文件的文件夹是按照差异文件的源文件目录结构提取的,目录和文件是一一对应的,管理员也只需将这个这个包含所述差异文件的文件夹与服务器的文件夹用比较工具(例如BeyondCompare等)直接对比,审核效率大为提高。以上所揭露的仅为本专利技术的较佳实施例,不能以此来限定本专利技术的权利保护范围,因此依本专利技术申请专利范围所作的等同变化,仍属本专利技术所涵盖的范围。本文档来自技高网...
一种软件源代码差异文件提取方法

【技术保护点】
一种软件源代码差异文件提取方法,其特征在于,包括:从软件版本服务器上同步目标工作目录到本地进行修改;生成所述目标工作目录的差异文件列表;读取差异文件列表,获得绝对路径;提取差异文件。

【技术特征摘要】
1.一种软件源代码差异文件提取方法,其特征在于,包括:从软件版本服务器上同步目标工作目录到本地进行修改;生成所述目标工作目录的差异文件列表;读取差异文件列表,获得绝对路径;提取差异文件。2.根据权利要求1所述的软件源代码差异文件提取方法,其特征在于,所述生成所述目标工作目录的差异文件列表的步骤,包括如下步骤:提取所述目标工作目录的差异文件;生成差异文件列表。3.根据权利要求1所述的软件源代码差异文件提取方法,其特征在于,所述提取差异文件使用函数CopyFile()来实现。4.根据权利要求1所述的软件源代码差异文件提取方法,其特征在于,所述提取差异文件使用函数...

【专利技术属性】
技术研发人员:张伟
申请(专利权)人:惠州华阳通用电子有限公司
类型:发明
国别省市:广东,44

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

1