[发明专利]一种基于分布式协同开发环境下的代码管理方法及系统在审
申请号: | 201210428626.3 | 申请日: | 2012-10-31 |
公开(公告)号: | CN102929630A | 公开(公告)日: | 2013-02-13 |
发明(设计)人: | 薛文 | 申请(专利权)人: | 中标软件有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京聿宏知识产权代理有限公司 11372 | 代理人: | 钟日红;张宇峰 |
地址: | 200030 上海市徐汇*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 分布式 协同 开发 环境 代码 管理 方法 系统 | ||
技术领域
本发明涉及配置管理领域中的版本管理,尤其涉及一种基于分布式协同开发环境下的代码管理方法及系统。
背景技术
版本库是版本控制系统用来存储所有历史数据的地方。大多数版本控制系统在版本库中存储文件的目前状态、历史修改时间,修改者以及修改原因等信息。每进行一次提交,版本控制系统就会添加一个条目,并把提交的内容保存在版本库里。
在早期的版本控制系统中,必须登录版本库所在的服务器才能访问到版本库,这会带来可扩展性方面的问题。而较新的版本控制系统,常见的集中式版本控制解决了这样的问题。这类版本控制系统允许开发者通过网络来获取版本库中的代码,并在修改后提交回来。
在集中式版本控制模式下,开发者会把对版本的修改提交到公共的服务器。这类集中式版本库的版本控制系统与早期的直接访问式版本控制系统相比,有了很大进步。
随着网络技术发展和软件项目规模的不断增大,异地分散网络化软件开发格局逐渐组成,分布式协同开发的需求也越来越迫切。
由于在实际的软件开发过程中,代码通常需要频繁的检入检出操作,如果多个开发者同时高频率地远程访问公共版本库,远程频繁地进行检入检出操作会给存储公共版本库的服务器造成严重的负担。这种情况下,系统往往会出现操作反应缓慢、实时性差甚至部分功能无法实现等问题。
发明内容
本发明所要解决的技术问题是克服目前分布式协同开发环境下代码的频繁检入检出操作给服务器造成严重负担,出现反应缓慢、实时性差以及部分功能无法实现的缺陷。
为了解决上述技术问题,本发明提供了一种基于分布式协同开发环境下的代码管理方法。该方法包括:
将公共版本库从远程服务器上克隆到本地生成本地版本库;
在本地对所述本地版本库进行代码更新;
判断当前的公共版本库相比所述克隆时是否有更新,有则将所述当前的公共版本库相比所述克隆时的更新内容合并到所述代码更新后的本地版本库中得到最新的本地版本库,将所述最新的本地版本库合并到所述当前的公共版本库中;否则将所述代码更新后的本地版本库合并到所述当前的公共版本库中。
进一步,将公共版本库从远程的服务器上克隆到本地生成本地版本库的步骤包括采用安全外壳协议或超文本传输协议,将所述公共版本库从所述远程服务器上克隆到本地,在本地生成所述本地版本库。
进一步,在本地对所述本地版本库进行代码更新的步骤包括:
在本地对所述本地版本库进行代码更新,为更新的代码生成更新编号以区分不同的更新内容。
进一步,为更新的代码生成更新编号以区分不同的更新内容的步骤包括:为所述更新的代码采用SHA-512散列进行SHA-512哈希运算,得到SHA-512串值作为所述更新编号以区分所述不同的更新内容。
进一步,将所述最新的本地版本库合并到所述当前的公共版本库中,包括:对所述最新的本地版本库进行编译和评审,通过所述编译和评审后将所述最新的本地版本库合并到所述当前的公共版本库中;将所述代码更新后的本地版本库合并到所述当前的公共版本库中,包括:对所述更新后的本地版本库进行编译和评审,通过所述编译和评审后将所述更新后的本地版本库合并到所述当前的公共版本库中。
根据本发明另一方面,还提供一种基于分布式协同开发环境下的代码管理系统。该系统包括:
克隆模块,配置为将公共版本库从远程服务器上克隆到本地生成本地版本库;
更新模块,配置为在本地对所述本地版本库进行代码更新;
判断模块,配置为判断当前的公共版本库相比所述克隆时是否有更新;
合并模块,配置为所述判断模块判断出当前的公共版本库相比所述克隆时有更新时,将所述当前的公共版本库相比所述克隆时的更新内容合并到所述代码更新后的本地版本库中得到最新的本地版本库,将所述最新的本地版本库合并到所述当前的公共版本库中;否则将所述代码更新后的本地版本库合并到所述当前的公共版本库中。
进一步,所述克隆模块配置为采用安全外壳协议或超文本传输协议,将所述公共版本库从所述远程服务器上克隆到本地,在本地生成所述本地版本库。
进一步,所述更新模块配置为在本地对所述本地版本库进行代码更新,为更新的代码生成更新编号以区分不同的更新内容。
进一步,所述更新模块配置为为所述更新的代码采用SHA-512散列进行SHA-512哈希运算,得到SHA-512串值作为所述更新编号以区分所述不同的更新内容。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中标软件有限公司,未经中标软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210428626.3/2.html,转载请声明来源钻瓜专利网。