[发明专利]一种用户可修改工件的合并方法及系统在审
申请号: | 202110591005.6 | 申请日: | 2021-05-28 |
公开(公告)号: | CN113296756A | 公开(公告)日: | 2021-08-24 |
发明(设计)人: | 邵力强;周明聪;许忠文;袁瑞 | 申请(专利权)人: | 成都谐盈科技有限公司 |
主分类号: | G06F8/33 | 分类号: | G06F8/33;G06F8/35 |
代理公司: | 成都正华专利代理事务所(普通合伙) 51229 | 代理人: | 李蕊 |
地址: | 610000 四川省成都市*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用户 修改 工件 合并 方法 系统 | ||
本发明公开了一种用户可修改工件的合并系统,使用系统的方法为:S1、采集当前迭代过程中由软件过程生成的工件,得到.temp工件;S2、判断.temp工件与.gen工件是否不同,若是,则进入步骤S3,否则删除.temp工件并结束;S3、判断源工件是否存在,若是,则进入步骤S4,否则复制.temp工件至源工件类别中,并进入步骤S5;S4、判断用户可修改工件是否被修改,若是,则复制.temp工件至.merge工件类别中,执行合并步骤,并进入步骤S5,否则复制.temp工件至源工件类别中,并进入步骤S5;S5、复制.temp工件至.gen工件类别中,并删除.temp工件。
技术领域
本发明属于计算机技术领域,具体涉及一种用户可修改工件的合并方法及系统。
背景技术
随着计算机软件开发变得越来越复杂,软件开发人员越来越多的使用模型。例如,可以使用UML创建模型,模型驱动架构(MDA)工具生成源代码和其他工件,使用软件的模型作为源代码生成的基础。工件通常可以描述为软件开发过程中产生的有形副产品,并且包括可以在计算机上运行的独立软件组件。工件的例子包括但不限于:代码,构建生成文件,组件描述符,文档,以及模型。MDA工具生成工件后,用户可以修改其中一些工件。然而,软件开发时一个迭代过程,用户修改源模型并重新生成源代码。事实上,用户可以同时修改模型和由该模型生成的工件。
根据一种已知方法,代码和生成文件夹被生成到系统环境变量中设置的构建环境目录中。在构建的目录中,包含多个工件,这些工件基于MDA工具生成,并且可以由用户修改。如果生成工件的模型被改变,当从模型重新生成工件时,对工件的任何用户修改都将被覆盖。此修改还可能会产生其他问题,例如,在生成过程之外修改一个文件会产生一种新的需求,即通过自动工件源的每一个不同的生成来维护这些更改。此外,如果同时修改模型和由该模型生成的工件,则会发生冲突。
发明内容
针对现有技术中的上述不足,本发明提供的一种用户可修改工件的合并方法及系统解决了现有技术中存在的问题。
为了达到上述发明目的,本发明采用的技术方案为:一种用户可修改工件的合并方法,包括以下步骤:
S1、采集当前迭代过程中由软件过程生成的工件,得到.temp工件;
S2、判断.temp工件与.gen工件是否不同,若是,则进入步骤S3,否则删除.temp工件并结束;
S3、判断源工件是否存在,若是,则进入步骤S4,否则复制.temp工件至源工件类别中,并进入步骤S5;
S4、判断用户可修改工件是否被修改,若是,则复制.temp工件至.merge工件类别中,执行合并步骤,并进入步骤S5,否则复制.temp工件至源工件类别中,并进入步骤S5;
S5、复制.temp工件至.gen工件类别中,并删除.temp工件;
所述.gen工件表示先前生成的工件,所述.merge工件表示合并工件。
进一步地,所述步骤S1中工件包括代码、构件生成文件、组件描述符、文档以及模型,所述用户可修改工件包括所有历史生成工件。
进一步地,所述步骤S2中判断.temp工件与.gen工件是否不同的具体方法为:采用二路合并算法对.temp工件与.gen工件进行逐行对比,判断.temp工件与.gen工件中的文件是否完全相同,若是,则相同,否则不相同。
进一步地,所述步骤S4中执行合并步骤的具体方法为:将.temp工件和.merge工件所有元素遍历,并分别存放于源集合和目标集合,删除源集合中与目标元素没有对应项的源元素,并在目标集合中添加没有对应项的源元素,将引用重定向到相应的目标元素,完成合并步骤。
进一步地,所述执行合并步骤之前通过合并函数进行合并冲突的检测。
本发明的有益效果为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都谐盈科技有限公司,未经成都谐盈科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110591005.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种伸缩装置
- 下一篇:一种可任意放置的模块式编程积木及定位方法