首页 / 一种版本控制方法、开发工具插件和开发工具

一种版本控制方法、开发工具插件和开发工具有效专利 发明

技术领域

[0001] 本申请涉及计算机技术领域,尤其涉及一种版本控制方法、开发工具插件和开发工具。

相关背景技术

[0002] IBM Rational ClearCase,简称ClearCase,是软件配置管理解决方案,用于提供版本控制、工作空间管理、并行开发支持和构建审计。ClearCase Remote Client,简称CCRC,是一种远程操作ClearCase服务器的软件。由于ClearCase目前只有图形界面的管理工具和命令行工具,没有与开发工具(如C语言开发工具)集成,因此目前在开发工具当中无法直接使用ClearCase进行源代码的版本控制。
[0003] 目前现有的源代码的版本控制方法如图1所示,包括:
[0004] 步骤101,用户打开CCRC,发起CCRC与ClearCase服务器的连接请求,以实现CCRC与ClearCase服务器的连接。
[0005] 其中,连接请求包括获取源代码文件信息的相关指示、标志等信息。
[0006] 步骤102,在CCRC与ClearCase服务器实现连接后,CCRC能够依据用户发送的连接请求,从ClearCase服务器中获取所需的源代码文件信息。
[0007] 步骤103,CCRC依据获取的源代码文件信息,检出所述源代码文件信息对应的源代码文件。
[0008] 其中,检出源代码文件指的是从ClearCase服务器中将源代码文件的指定版本复制到工作目录。
[0009] 步骤104,用户打开开发工具,在开发工具中打开所述源代码文件。
[0010] 步骤105,在开发工具中编辑所述源代码文件,并保存编辑后的源代码文件。
[0011] 步骤106,用户打开CCRC,通过CCRC检入所述编辑后的源代码文件。
[0012] 其中,检入源代码文件指的是将工作目录的指定文件(如编辑后的源代码文件)复制到ClearCase服务器中的对应位置。
[0013] 对于现有的源代码的版本控制方法,由于在开发工具当中无法直接使用ClearCase进行源代码的版本控制,因此对于源代码的版本控制的实现过程需要用户在CCRC与开发工具这两个软件中分别完成相应部分,即用户需要在两个软件中切换操作,效率较低。且在其实际应用过程中,用户在开发工具中打开并编辑的源代码文件是用户选中的,也就是说,CCRC检出的源代码文件与在开发工具当中打开、编辑的源代码文件的同一性是通过用户操作保证的,那么这就有可能发生用户在开发工具当中打开、编辑的源代码文件不是CCRC检出的源代码文件的情况,即发生误操作,从而无法保证操作的准确性。

具体实施方式

[0066] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0067] 基于现有技术中在开发工具当中无法直接使用ClearCase进行源代码的版本控制的问题,本申请创新提出在开发工具中设置一开发工具插件,如图2所示,开发工具通过该开发工具插件实现与ClearCase服务器通信连接,从而实现开发工具与ClearCase服务器间的数据交互,即实现在开发工具当中使用ClearCase进行源代码的版本控制的功能。
[0068] 具体如图3所示,本申请提供的版本控制方法包括:
[0069] 步骤201,开发工具通过开发工具插件,将用户发送的操作请求转换为针对ClearCase服务器执行的操作命令,并将操作命令发送至ClearCase服务器,以使得ClearCase服务器依据所述操作命令执行相应操作,并获得相应操作结果。其中所述操作请求包括列表展示请求、文件选中请求、检出请求、检出请求中的至少一个。
[0070] 优选的,本申请中的开发工具为C语言开发工具,开发工具插件为C语言开发工具插件。
[0071] 步骤202,开发工具通过所述开发工具插件,接收并响应所述操作结果。
[0072] 本申请提供的版本控制过程都是在开发工具当中完成,相比于现有的源代码的版本控制方法需要用户在CCRC与开发工具这两个软件中切换操作才能完成,效率明显提高,且同时本申请保证了源代码文件的同一性,从而保证了操作的准确性。
[0073] 下面,申请人将对本申请提供的版本控制方法进行详细描述,如图4所示,该方法建立在开发工具已通过开发工具插件建立与ClearCase服务器通信连接的基础上,方法具体包括:
[0074] 步骤301,开发工具通过开发工具插件接收用户发送的列表展示请求。
[0075] 本申请中的开发工具插件可以包括用户界面模块、操作逻辑处理模块和通信模块。其中用户界面模块用于接收用户发送的操作请求;操作逻辑处理模块用于将操作请求转换为针对ClearCase服务器执行的操作命令,通信模块用于将操作命令发送至ClearCase服务器,以及用于接收ClearCase服务器返回的操作结果;操作逻辑处理模块还用于响应所述操作结果。
[0076] 在本申请实施例中,用户界面模块提供用户的操作界面,用户在操作界面上通过按触按钮、按键等方式触发向ClearCase服务器发送列表展示请求,此时用户界面模块便接收到该列表展示请求。
[0077] 步骤302,开发工具通过开发工具插件,将列表展示请求转换为,在ClearCase服务器中,指定位置执行列出目录的第一命令,以使得ClearCase服务器依据所述第一命令,从指定位置处获取文件列表,并将文件列表返回至开发工具。
[0078] 在本申请实施例中,开发工具通过开发工具插件中的操作逻辑处理模块,将列表展示请求转换为,在ClearCase服务器中,指定位置执行列出目录的第一命令。进而通过开发工具插件中的通信模块,将第一命令发送至ClearCase服务器。ClearCase服务器接收到该第一命令后,会从指定位置处获取文件列表,并将文件列表返回至开发工具。
[0079] 步骤303,开发工具通过开发工具插件接收文件列表,并通过开发工具插件将文件列表输出展示。
[0080] 在本申请实施例中,开发工具通过开发工具插件中的通信模块接收该文件列表,进而发送至用户界面模块,通过用户界面模块将文件列表输出展示。
[0081] 本申请实施例中优选的,本申请中开发工具插件中的通信模块与ClearCase服务器间通过SSH(Security Shell,安全外壳)进行数据传输。
[0082] 步骤304,开发工具通过开发工具插件接收用户发送的文件选中请求。
[0083] 在本申请实施例中,用户界面模块将文件列表输出展示后,用户根据展示的文件列表选中至少一个文件,该选中的至少一个文件为待检出的文件。
[0084] 步骤305,开发工具通过开发工具插件,将文件选中请求转换为,在ClearCase服务器中,对所述至少一个选中的文件执行文件传输的第二命令,以使得ClearCase服务器依据所述第二命令,获取所述至少一个选中的文件,并返回至开发工具。
[0085] 在本申请实施例中,开发工具通过开发工具插件中的操作逻辑处理模块,将文件选中请求转换为,在ClearCase服务器中,对所述至少一个选中的文件执行文件传输的第二命令,进而通过开发工具插件中的通信模块,将第二命令发送至ClearCase服务器。ClearCase服务器接收到该第二命令后,获取所述至少一个选中的文件,并返回至开发工具。
[0086] 步骤306,开发工具通过开发工具插件接收所述至少一个选中的文件,并建立至少一个选中的文件与ClearCase服务器中对应目录的映射关系,同时通过开发工具插件将所述至少一个选中的文件输出展示。
[0087] 其中ClearCase服务器中对应目录优选为,选中的文件在ClearCase服务器中的存储目录。
[0088] 在本申请实施例中,开发工具通过开发工具插件中的通信模块接收ClearCase服务器返回的至少一个选中的文件,例如包括文件A和文件B,此时开发工具通过开发工具插件中的操作逻辑处理模块,建立文件A与ClearCase服务器中对应目录a的映射关系,建立文件B与ClearCase服务器中对应目录b的映射关系。同时,开发工具插件中的通信模块将接收到的文件A和文件B发送至开发工具插件中的用户界面模块,通过用户界面模块将文件A和文件B输出展示。
[0089] 步骤307,开发工具通过开发工具插件接收用户发送的检出请求。
[0090] 在本申请实施例中,用户界面模块将文件A和文件B输出展示后,用户根据展示的文件A和文件B,确定对文件A和文件B执行检出操作,此时,开发工具通过开发工具插件中的用户界面模块接收到用户发送的检出请求,该检出请求具体用于指示对文件A和文件B执行检出操作。
[0091] 步骤308,开发工具通过开发工具插件,将检出请求转换为,在ClearCase服务器中,从所述指定位置处对所述至少一个选中的文件执行检出的第三命令,以使得ClearCase服务器依据所述第三命令,获取所述至少一个选中的文件的指定版本,并返回至开发工具。
[0092] 在本申请实施例中,开发工具通过开发工具插件中的操作逻辑处理模块,将检出请求转换为,在ClearCase服务器中,从所述指定位置处对所述至少一个选中的文件执行检出的第三命令,进而通过开发工具插件中的通信模块,将第三命令发送至ClearCase服务器。ClearCase服务器接收到该第三命令后,获取所述至少一个选中的文件的指定版本,并返回至开发工具。
[0093] 步骤309,开发工具通过开发工具插件接收所述至少一个选中的文件的指定版本,并通过开发工具插件将所述至少一个选中的文件的指定版本复制到目标工作目录。
[0094] 在本申请实施例中,开发工具通过开发工具插件中的通信模块依次接收到ClearCase服务器返回的文件A和文件B的指定版本,进而通过开发工具插件中的操作逻辑处理模块,将文件A和文件B的指定版本复制到目标工作目录。
[0095] 此处优选的,本申请通过开发工具插件中的操作逻辑处理模块,将文件A和文件B的指定版本复制到目标工作目录之后,方法还可以包括:通过开发工具插件中的用户界面模块,将文件A和文件B的指定版本复制到目标工作目录的结果,和/或,将文件A和文件B的指定版本输出展示。
[0096] 步骤310,用户在开发工具中对所述至少一个选中的文件的指定版本进行编辑并保存。
[0097] 在本申请实施例中,开发工具通过开发工具插件将文件A和文件B的指定版本复制到目标工作目录后,用户可以在目标工作目录中读取文件A和文件B的指定版本,对其进行编辑,进而保存编辑后的文件A的指定版本和编辑后的文件B的指定版本。
[0098] 步骤311,开发工具通过开发工具插件接收用户发送的检入请求。
[0099] 在本申请实施例中,用户完成对至少一个选中的文件的指定版本进行编辑并保存后,用户通过在开发工具插件中的用户界面模块选中编辑后的文件,如编辑后的文件A,此时,开发工具通过开发工具插件中的用户界面模块接收到用户发送的用于指示对编辑后的文件A执行检入操作的检入请求。
[0100] 步骤312,开发工具通过开发工具插件,将检入请求转换为,在ClearCase服务器中,在所述指定位置处对用户选中的至少一个编辑后的文件执行检入的第四命令,以使得ClearCase服务器依据所述第四命令,将所述用户选中的至少一个编辑后的文件存储至所述指定位置,并返回存储成功响应消息至开发工具。
[0101] 在本申请实施例中,开发工具通过开发工具插件中的操作逻辑处理模块,将检入请求转换为,在ClearCase服务器中,在所述指定位置处对用户选中的编辑后的文件A执行检入的第四命令。进而通过开发工具插件中的通信模块,将第四命令发送至ClearCase服务器。ClearCase服务器接收到该第四命令后,会将用户选中的编辑后的文件A存储至指定位置,并在成功完成将用户选中的编辑后的文件A存储至指定位置后,返回存储成功响应消息至开发工具。
[0102] 步骤313,开发工具通过开发工具插件接收存储成功响应消息,并通过开发工具插件将存储成功响应消息输出展示。
[0103] 在本申请实施例中,开发工具通过开发工具插件中的通信模块接收存储成功响应消息,并通过开发工具插件中的用户界面模块,将存储成功响应消息输出展示。本申请中当接收到ClearCase服务器返回的存储成功响应消息,表明ClearCase服务器已成功完成将用户选中的编辑后的文件A存储至指定位置的操作。
[0104] 基于前文本申请提供的一种版本控制方法,本申请还提供一种开发工具插件,如图5所示。本申请提供的开发工具插件应用于开发工具中,所述开发工具通过所述开发工具插件能够与ClearCase服务器连接;所述开发工具插件具体包括:
[0105] 用户界面模块10,用于接收用户发送的操作请求;
[0106] 操作逻辑处理模块20,用于将所述操作请求转换为针对所述ClearCase服务器执行的操作命令;
[0107] 通信模块30,用于将所述操作命令发送至所述ClearCase服务器,以使得所述ClearCase服务器依据所述操作命令执行相应操作,并获得相应操作结果;其中所述操作请求包括列表展示请求、文件选中请求、检出请求、检出请求中的至少一个;以及,用于接收所述ClearCase服务器返回的操作结果;
[0108] 所述操作逻辑处理模块20,还用于响应所述操作结果。
[0109] 其中,当所述操作请求为列表展示请求时:
[0110] 所述操作逻辑处理模块20具体用于,将所述列表展示请求转换为,在所述ClearCase服务器中,指定位置执行列出目录的第一命令,以使得所述ClearCase服务器依据所述第一命令,从所述指定位置处获取文件列表,并将所述文件列表返回至所述开发工具;
[0111] 此时所述通信模块30具体用于,接收所述文件列表;
[0112] 所述用户界面模块10具体用于,将所述文件列表输出展示。
[0113] 其中,当所述操作请求为文件选中请求:
[0114] 所述操作逻辑处理模块20还用于,将所述文件选中请求转换为,在所述ClearCase服务器中,对所述至少一个选中的文件执行文件传输的第二命令,以使得所述ClearCase服务器依据所述第二命令,获取所述至少一个选中的文件,并返回至所述开发工具;
[0115] 此时所述通信模块30还用于,接收所述至少一个选中的文件;
[0116] 所述操作逻辑处理模块20还用于,建立所述至少一个选中的文件与所述ClearCase服务器中对应目录的映射关系;
[0117] 所述用户界面模块10还用于,将所述至少一个选中的文件输出展示。
[0118] 其中,当所述操作请求为检出请求:
[0119] 所述操作逻辑处理模块20还用于,将所述检出请求转换为,在所述ClearCase服务器中,从所述指定位置处对所述至少一个选中的文件执行检出的第三命令,以使得所述ClearCase服务器依据所述第三命令,获取所述至少一个选中的文件的指定版本,并返回至所述开发工具;
[0120] 此时所述通信模块30还用于,接收所述至少一个选中的文件的指定版本;
[0121] 所述操作逻辑处理模块20还用于,将所述至少一个选中的文件的指定版本复制到目标工作目录。
[0122] 其中,当所述操作请求为检入请求时:
[0123] 所述操作逻辑处理模块20还用于,将所述检入请求转换为,在所述ClearCase服务器中,在所述指定位置处对用户选中的至少一个编辑后的文件执行检入的第四命令,以使得所述ClearCase服务器依据所述第四命令,将所述用户选中的至少一个编辑后的文件存储至所述指定位置,并返回存储成功响应消息至所述开发工具;
[0124] 此时所述通信模块30还用于,接收所述存储成功响应消息;
[0125] 所述用户界面模块10还用于,将所述存储成功响应消息输出展示。
[0126] 最后,本申请还提供一种开发工具,包括前文所述的开发工具插件,所述开发工具通过所述开发工具插件能够与ClearCase服务器连接。
[0127] 需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0128] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0129] 以上对本申请所提供的一种版本控制方法、开发工具插件和开发工具进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页 第1页 第2页 第3页
相关技术
开发工具相关技术
控制方法相关技术
王华阳发明人的其他相关专利技术