当前位置: 首页 > 专利查询>微软公司专利>正文

在集中式源控制环境中使用分布式源控制制造技术

技术编号:8532549 阅读:139 留言:0更新日期:2013-04-04 15:24
本发明专利技术涉及在集中式源控制环境中使用分布式源控制。呈现了一种用于在集中式源控制系统的情况下使用分布式源控制系统的方法。从源控制储存库获取第一文件集并且将其存储在第一电子计算设备上。第一文件集包括集中式源控制系统中的代码库的全部或部分。从分布式源控制系统中的第二电子计算设备接收对代码库的至少一部分的请求。作为请求的结果,第一文件集的至少一部分被发送到第二电子计算设备。从第二电子计算设备接收第一文件集的变更集。变更集被处理成采用与源控制储存库兼容的格式。变更集被提交给源控制储存库。

【技术实现步骤摘要】

本专利技术涉及在集中式源控制环境中使用分布式源控制
技术介绍
在针对源代码的修订控制的软件开发期间使用源控制系统。集中式源控制系统准许通常基于客户机/服务器模型的从中央位置进行修订控制。在集中式源控制系统中,月艮务器计算机通常维护源代码储存库。客户机计算机上的软件开发人员可从源代码储存库登记取出源代码,并且在例如作出代码变更之后将源代码登记存回源代码储存库。分布式源控制系统提供基于对等模型的修订控制。在分布式源控制系统中,每一个对等节点(例如每一个客户机计算机)上的源代码的工作副本可构成源代码储存库。分布式源控制系统通常被称为分散式源控制系统。软件开发公司通常针对一个项目或使用集中式源控制系统或使用分布式源控制系统,但不会两者同时使用。公司通常对他们的集中式源控制系统具有大量投入,并且可能发现要改变为一种不同类型的源控制系统是困难且昂贵的。许多开发人员喜欢使用分布式源控制系统,但还可能需要将他们的源代码登记存入公司的集中式源控制系统。
技术实现思路
本专利技术的各实施例涉及一种用于在集中式源控制系统的情况下使用分布式源控制系统的方法。在第一电子计算设备上,从源控制储存库获取第一文件集。第一文件集包括集中式源控制系统中的代码库的全部或部分。源控制储存库是集中式源控制系统中的源控制储存库。第一文件集被存储在第一电子计算设备上。从第二电子计算设备接收对代码库的至少一部分的请求。第二电子计算设备是分布式源控制系统中的电子计算设备。作为请求的结果,第一文件集的至少一部分被发送到第二电子计算设备。从第二电子计算设备接收第二文件集。第二文件集是第一文件集的变更集合。该变更集合被处理,以使得该变更集合采用与第一源控制储存库兼容的格式。当该变更集合采用与第一源控制储存库兼容的格式时,该变更集合被提交给第一源控制储存库。提供本
技术实现思路
是为了以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本
技术实现思路
并不旨在标识所要求保护的主题的关键特征或必要特征,也决不旨在用于限制所要求保护的主题的范围。附图说明图1示出支持在集中式源控制环境中使用分布式源控制系统的示例系统。图2示出图1的接口服务器计算机和分布式源控制系统的示例组件。图3示出一种用于在集中式源控制系统的情况下使用分布式源控制系统的方法的示例流程图。图4示出图1的接口服务器计算机的示例组件。具体实施例方式本申请涉及用于在集中式源控制环境中使用分布式源控制系统的系统和方法。使用所述系统和方法,从集中式源控制系统获取源代码储存库的副本并将其存储在服务器计算机上。通常,源代码储存库的副本与用户正对其进行操作的软件开发项目相对应。源代码储存库的副本被用作分布式源控制系统的软件储存库。源代码储存库的副本被周期性地更新,对集中式源控制系统上的源代码储存库作出的变更进行镜像。在本专利技术中,源代码储存库的副本被称为团队中枢。分布式源控制系统通常包括多个客户机计算机。当客户机计算机之一上的软件开发人员需要对项目进行操作吋,则软件开发人员向团队中枢请求源代码。在某些示例中,该请求可以针对软件开发项目的完整代码库。在其他示例中,该请求可以仅针对软件开发项目的代码库的一部分。当作出对源代码的请求时,在客户机计算机上创建源代码的工作区域。从团队中枢获取的源代码被存储在工作区域中。软件开发人员可编辑存储在工作区域中的ー个或多个源代码文件。当软件开发人员完成了对ー个或多个源代码文件的编辑时,该ー个或多个源代码文件被打包成与集中式源控制系统兼容的格式。包括在分布式源控制系统上对源代码文件作出的编辑的经打包的文件随后被提交给集中式源控制系统以便进行登记存入。以此方式,可以从集中式源控制系统获取ー个或多个文件,在分布式源控制系统上进行编辑,然后将其登记存入到集中式源控制系统。图1示出支持在集中式源控制环境中使用分布式源控制系统的示例系统100。示例系统100包括集中式源控制系统102、104、106,接ロ服务器计算机108,和分布式源控制系统110和112。示例集中式源控制系统102、104、106是用于管理对计算机文档和文件的变更的修订和版本控制系统。计算机文档和文件的储存库通常被存储在集中位置,通常在一个或多个服务器计算机上。集中式源控制系统102、104、106支持客户机/服务器模型。通常使用客户机计算机从集中位置登记取出文件的软件开发人员对被登记取出的文件作出变更,随后将文件登记存回集中位置。集中式源控制系统的ー个示例是来自华盛顿州雷蒙德是微软公司的Team Foundation Sever (团队基础服务器)源控制系统。第ニ示例是来自Perforce软件公司的Perforce源控制系统。集中式源控制系统的其他示例是可能的。示例系统100中可包括更多或更少集中式源控制系统。示例接ロ服务器计算机108提供准许集中式源控制系统102、104、106与分布式源控制系统110、112进行合作的桥接技术。接ロ服务器计算机108获取存储在集中式源控制系统102、104、106上的源代码储存库的副本。副本通常包括每ー个源代码储存库中的所有分支以及对源代码储存库作出的变更的完整历史。在本专利技术中也被称为团队中枢的副本被存储在接ロ服务器计算机108上。接ロ服务器计算机108还将在分布式源控制系统110、112上编辑的文件处理成兼容的格式,以便将经编辑的文件登记存入到集中式源控制系统102、104、106中。在各示例中,接ロ服务器计算机108的团队中枢和登记存入功能可被合并到集中式源控制系统102、104、106中的一个或多个中。另外,在各示例中,可使用多个团队中枢。例如,可能存在用于每ー个项目的独立的团队中枢,每ー个团队中枢为不同的项目提供源代码储存库的副本。通常,在分布式源控制系统110、112中的一个上编辑的一个或多个文件被打包以便被登记存入到集中式源控制系统102、104、106中的一个中。接口服务器计算机108将对被登记取出的文件的变更从在其上作出变更的分布式源控制系统定向到其中变更被登记存入的集中式源控制系统。在各示例中,接口服务器计算机108可被配置成将变更从一个分布式源控制系统定向到特定的集中式源控制系统。在其他示例中,接口服务器计算机108可维护哪个分布式源控制系统与哪个集中式源控制系统相对应的内部表。例如,如果来自一个分布式源控制系统中的客户机计算机作出了针对被包括在与特定集中式源控制系统相关联的团队中枢中的项目的文件的请求,则接口服务器计算机108可维护将该分布式源控制系统与该集中式源控制系统相关联的表。示例分布式源控制系统110、112实现源控制的对等模型。在分布式源控制系统110、112中,每一个对等节点(通常为客户机计算机)存储源代码储存库的工作副本。可从工作副本中创建一个或多个代码分支。软件开发人员可在线或离线地对软件文件作出变更。不同客户机计算机上的软件开发人员可直接共享经编辑的文件,从而消除了将文件传输到集中位置的必要。分布式源控制系统的连个示例是Mercurial分布式源控制系统和Git分布式源控制系统。分布式源控制系统的其他示例是可能的。示例系统100中可包括更多或更少分布式源控制系统。示例系统100还支持混合模型,其中软件开发团队可使用与集中式源控制系统相关联的工具,本文档来自技高网
...

【技术保护点】
一种用于在集中式源控制系统(102)的情况下使用分布式源控制系统(110)的方法,所述方法包括:在第一电子计算设备(108)上,从第一源控制储存库获取一个或多个文件的第一集合,第一文件集包括所述集中式源控制系统(102)中的代码库的全部或部分,所述第一源控制储存库是第一集中式源控制系统(102)中的源控制储存库;将所述第一文件集存储在所述第一电子计算设备(108)上;从第二电子计算设备(206)接收对所述代码库的至少一部分的请求,所述第二电子计算设备(206)是第一分布式源控制系统(110)中的电子计算设备;作为所述请求的结果,将所述第一文件集的至少一部分发送到所述第二电子计算设备(206);从所述第二电子计算设备(206)接收一个或多个文件的第二集合,所述一个或多个文件的第二集合是所述第一文件集的变更集;以及处理所述变更集以使得所述变更集采用与所述第一源控制储存库兼容的格式;以及当所述变更集采用与所述第一源控制储存库兼容的格式时,将所述变更集提交给所述第一源控制储存库。

【技术特征摘要】
2011.12.16 US 13/328,2721.一种用于在集中式源控制系统(102)的情况下使用分布式源控制系统(110)的方法,所述方法包括在第一电子计算设备(108)上,从第一源控制储存库获取一个或多个文件的第一集合,第一文件集包括所述集中式源控制系统(102)中的代码库的全部或部分,所述第一源控制储存库是第一集中式源控制系统(102)中的源控制储存库;将所述第一文件集存储在所述第一电子计算设备(108)上;从第二电子计算设备(206)接收对所述代码库的至少一部分的请求,所述第二电子计算设备(206)是第一分布式源控制系统(I 10)中的电子计算设备;作为所述请求的结果,将所述第一文件集的至少一部分发送到所述第二电子计算设备(206);从所述第二电子计算设备(206)接收一个或多个文件的第二集合,所述一个或多个文件的第二集合是所述第一文件集的变更集;以及处理所述变更集以使得所述变更集采用与所述第一源控制储存库兼容的格式;以及当所述变更集采用与所述第一源控制储存库兼容的格式时,将所述变更集提交给所述第一源控制储存库。2.如权利要求1所述的方法,其特征在于,还包括周期性地从所述第一源控制储存库获取对所述第一文件集的一个或多个文件的更新,并且将所述更新存储在所述第一电子计算设备(108)上。3.如权利要求1所述的方法,其特征在于,所述变更集标识所述变更集要被提交给的集中式源控制系统(102)。4.如权利要求1所述的方法,其特征在于,所述变更集包括来自未包括在所述第一文件集中的一个或多个源代码分支的源代码变更。5.如权利要求1所述的方法,其特征在于,所述第一源控制储存库驻留在所述第一电子计算设备(108)上。6.如权利要求1所述的方法,其特征在于,还包括将所述第一文件集的至少一部分发送到第三电子计算设备,所述第三电子计算设备是第二分布式源控制系统(112)的一部分;从所述第三电子计算设备接收一个或多个文件的第三集合,所述一个或多个文件的第三集合是第一文件集的第二变更集;处理所述第二变更集以使得所述第二变更集采用与所述第一源控制储存库兼容的格式;以及当所述第二变更集采用与所述第一源控制储存库兼容的格式时,将所述第二变更集提交给所述第一源控制储存库。7.第一电子计算设备(108),包括处理单元;以及系统存储器,所述系统存储器包括在由所述处理单元执行时致使所述第一电子计算设备(108)执行以下动作的指令从第一源控制储存库获取一个或多个文件的第一集合,所述第一源控制储存库是集中式源控制系统(102)中的源控制储存库;将第一文件集存储在所述第一电子计算设备(108)上;从第二电子计算设备(206)接收对所述第一文件集的请求,所述第二电子计算设备 (206)是第一分布式源控制系统(I 10)中的电子计算设备;作为所述请求的结果,将所述第一文件集发送到所述第二电子计算设备(206);从所述第二电子计算设备(206)接收一个或多个文件的第二集合,所述一个或多个文件...

【专利技术属性】
技术研发人员:V·伯克特T·A·布赫
申请(专利权)人:微软公司
类型:发明
国别省市:

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

1