版本控制中定制和执行策略的方法、装置和系统的制作方法

文档序号:6563323阅读:188来源:国知局
专利名称:版本控制中定制和执行策略的方法、装置和系统的制作方法
技术领域
本发明涉及版本控制技术,更具体地说,涉及为版本控制设置定制策 略的技术。
背景技术
通常,使用集成开发环境(Integrated Development Environment, IDE) 修改源文件的内容,使用版^制系统(Version Control System, VCS) 进行源文件的版本控制。在大多数情况下,VCS不会在源文件的内容中插 入附加信息,而是在VCS中添加该文件的一些元数据(Metadata)以追 踪源文件版本的改变。这意味着开发人员不能直接看到版本控制信息。一 旦源文件从VCS取出,用户无法直接查看源文件的版本控制和帮助识别修 改状态的附加信息。大多数现有的VCS产品,例如并行版本系统(Concurrent Versions System, CVS) 、 ClearCase和配置管理和版本控制(Configuration Management Version Control, CMVC)等,均为用户提供强大的版本控 制功能,例如对源文件进行添加源控制、签入、签出等的操作,如图l的 示意图所示。CVS用于对所有源代码的修改历史进行记录。CVS的基本工作思路是 在一台服务器上建立一个文件档案库,文件档案库里可以存放许多不同项 目的源程序,由管理员统一管理文件档案库的存储和配置。每个用户在使 用版本控制工具时,可以把新文件添加到文件档案库中或者把文件档案库 里的已有项目文件下栽到本地。用户4故的任何修改首先都是在本地进行, 然后用CVS命令进行提交,CVS系统对文件的变化进行跟踪,并检测修
改冲突等。ClearCase是软件配置管理(Software Configuration Management, SCM)工具,提供了用于实现SCM最佳实践的必要自动化手段与流程支 持。ClearCase提供了一个开放型框架,用于实现各种不同类型的SCM解 决方案。CMVC基于项目数据库,它把所有对软件开发项目的描述和源文件元 信息(即metadata,如文件更新记录等)的存储与源文件本身分离,保存 在单独一个数据库中。然而,图1示出的版本控制系统(CVS、 ClearCase、 CMVC等)存 在以下问题(1) 在进行文件操作动作,例如添加源文件控制、签入/签出等 时,这些动作是固定的,用户不能在这些动作期间进行定制。(2 ) 不允许文件内容改变(例如插入标记信息)。也就是i兌,不 允许改变源文件的内容,例如插入版本控制标记、时间标记 信息等。(3 ) 项目管理员不能为每个项目定义特定的版本控制定制策略。 (4 ) 项目开发人员需要在源文件内容中添加注释来说明被修改 源代码位置及相关提示信息(例如"//modified by Sam at May 5, 2006")。 总之,这些版本控制系统只能提供统一的方法和动作来处理所有的情 况,用户在对不同的源文件和项目进行开发期间不能进4亍定制。发明内容为了解决上述现有技术中存在的问题,本发明提供了为版本控制设置 定制策略的方法、版本控制方法、为版本控制设置定制策略的装置、版本 控制定制策略执行装置以及版本控制系统。根据本发明的一个方面,提供了 一种为版本控制设置定制策略的方法, 包括以下步骤通过选择或设置版本检制选项,生成至少一个版本控制定
制策略;将已生成的版本控制定制策略与一个项目或用户相关联;以及保 存上述版本控制定制策略及其相关联的项目或用户的信息。根据本发明的另一个方面,提供了一种版本控制方法,包括以下步骤 接收版本控制的命令;获得与上述版本控制的命令相关联的至少 一个版本 控制定制策略,其中每个上述版本控制定制策略包含预先选择或设置的版 本控制选项;获得相关联的项目或用户的信息;以及根据上述获得的至少 一个版本控制定制策略及相关联的项目或用户的信息,自定义地执4亍上述 版本控制的命令。根据本发明的另 一个方面,提供了 一种为版本控制设置定制策略的装 置,包括策略生成单元(policy generating unit),用于通过选择或设置 版本控制选项,生成至少一个版本控制定制策略;策略定制单元(policy customizing unit),用于将上述策略生成单元生成的版本控制定制策略与 一个项目或用户相关联;以及保存单元(saving unit),用于保存上述版 本控制定制策略及其相关联的项目或用户的信息。根据本发明的另 一个方面,提供了 一种用于执行版本控制定制策略的 装置,包括命令接收单元(command receiving unit),用于接收版;^t 制的命令;策略获得单元(policy obtaining unit),用于获得与上述版本 控制的命令相关联的至少 一个版本控制定制策略,其中每个上述版本控制 定制策略包含预先选择或设置的版本控制选项;关联信息获得单元 (associated information obtaining unit),用于获得相关联的项目或用户 的信息;以及命令执行单元(command performing unit),根据上述策略 获得单元获得的至少 一个版本控制定制策略以及上述关联信息获得单元获 得的相关联的项目或用户的信息,自定义地执行上述版本控制的命令。根据本发明的另一个方面,提供了一种版本控制系统,包括上述的 为版本控制设置定制策略的装置,用于设置版本控制定制策略;版本控制 档案库;以及上述的用于执行版本控制定制策略的装置,用于与所述版本 控制档案库一起执行上述版本控制定制策略。


相信通过以下结合附图对本发明具体实施方式
的说明,能够使人们更 好地了解本发明上述的特点、优点和目的。图l是根据现有技术的版^制系统的示意图; 图2是根据本发明的一个实施例的为版本控制设置定制策略的方法的 流程图;图3是根据本发明的实施例的可定制策略层与版本控制档案库的示意图;图4是根据本发明的另一个实施例的版本控制方法的流程图;图5是根据本发明的实施例的用户命令与定制策略和项目强制策略进 行相关动作的示意图;图6是根据本发明的实施例在初始化可定制策略层时项目管理员选择 并定义项目强制策略的示意图;图7是根据本发明的另一个实施例的为版本控制设置定制策略的装置 的方框图;图8是根据本发明的另一个实施例的用于执行版本控制定制策略的装 置的方框图;以及图9是根据本发明的另一个实施例的版^制系统的方框图。
具体实施方式
下面就结合附图对本发明的各个实施例进行详细的说明。 为版本控制设置定制策略的方法图2是根据本发明的一个实施例的为版本控制设置定制策略的方法的 流程图。如图2所示,首先,在步骤201,通过选择或设置版^制选项,生 成一个或多个版本控制定制策略。具体地说,版本控制档案库(version control repository)是版本控制 系统中的一个中心存储位置,用于存储共享服务器上的受控文件。版# 制档案库不仅存储文件本身,而且存储每个受控文件的版本信息和文件变 化。用户可以从版本控制档案库中取出(签出)具有特定版本的文件,并 可以将文件写回(签入)版本控制档案库,同时由版本控制系统自动设定 写入文件的版本。物理上,版本控制档案库使用操作系统的文件系统来进行文件控制和版本管理。具体的版本控制档案库将在下面参考图3进行详 细说明。在本实施例中,版本控制选项用于对受控文件进行各种定制的操作, 实际上可以认为是一种策略原子,这些策略原子包括但不限于 (1)代码格式化(Code Formatting)选项当签入源文件时,代码格式化选项将根据预设的类型模板格式化代码类型,以使源文件更容易阅读和理解。(2 )文档摘要生成(Document Summary Generating)选项 为了查看文档摘要信息,通常用户将签出整个文件。文档摘要生成选项将对文档进行扫描并根据文档结构和内容产生一个简短摘要,以l更于用户查看文档摘要信息。这样可以节约网络传输量并可以只将摘要信息传送到用户。(3)版权信息扫描(Copyright information validation )选项 当添加新的源文件时,版权信息扫描选项将通过检查文件标题和注释 部分来扫描源代码以确认其是否包括第三方代码,从而确保不将版;f又冲突 代码签入版本控制档案库。(4 )元数据替换(Metadata Replacement)选项 在编辑文档时,通常需要用当前用户信息替换源文档属性,例如Word 文档作者、組织、业务单元等信息。元数据替换选项将自动在签入或签出 阶段利用新的元数据替换旧的元数据。(5 )公开API保护(Public API Protection )选项 对于公开API (应用编程接口 ),不允许重命名、更改或删除已经发 布的公开API的接口定义。公开API保护选项将阻止任何对公开API接 口代码的改变请求,使公开API兼容多个版本。
(6) 将才示题添力口到新添加的源文件(Adding Header to New Added Source File )选项当将新的源文件添加到版4^制系统中时,将标题(如公司信息、项 目信息等)添加到新添加的源文件选项将自动将预设的标题信息添加到源 文件。(7) 智能合并(Smart Merging)选项当几个开发人员同时修改一个源文件时,智能合并选项将在简单内容 扫描之后判断是否存在可能的沖突。如果不存在可能的沖突,合并操作将 自动进行而无需人介入。(8) 内容更新标记(Information Update Tagging)选项 内容更新标记选项将在源文件更新部分的前面添加注释信息行。(9) 为不同平台导出(Exporting for Different Platform)选项 当基于不同平台取出源文件时,为不同平台导出选项将源文件的格式转换成特定平台的格式。(10) 为特定用户设定版本(Setting Version for Specific User)选项 如果签入文件的用户名是"Jack",那么为特定用户设定版本选项将该文件的版本i殳定为例如1.5版本。(11) 冲突通知(Confliction Notifying)选项如果文件签入时发生冲突,并且发生时间是周末,那么冲突通知选项 将发送邮件给管理员。应该理解,上面列举出的这些版本控制选项只是为了说明,本发明并 不限于此,因此,任何本领域的技术人员公知的现有和将来开发的任何版 本控制选项都可以在本发明的架构中实现。这些策略原子的集合组成了策略提供包,通常,用户从策略提供包中 选择一个或多个策略原子组成策略,或输入定制信息来填充策略。每一个 策略原子都需要一个软件代码模块来执行该策略原子,所有的支持策略原 子的代码都会放在策略层中执行。在上述步骤201,通过选择、设置或组合上述版本控制选项,生成一
个或多个版本控制定制策略。具体地说,版本控制定制策略是一种可执行实体,其为用户的偏好提 供输入模板,接收几个文件作为输入源,并根据用户的输入偏好产生输出 文件。例如"将标题添加到新添加的源文件"这一策略会将注释信息添加 到每个新的源文件。接着,策略层接收一个或多个文件作为输入源。这意 味着策略层可以操作单个文件输入和多个文件输入。接着,策略层才艮据用 户的输入偏好产生输出文件,这是一个接一个的过程。输出文件的数量等 于输入文件的数量。每个策略原子具有类型属性(例如"添加源控制,,、
"签入"、"签出"和"导出,,),以表明用户和基于策略的可定制版本 控制系统属于哪种类型。
在步骤201中生成的版本控制定制策略的实例包括但不限于代一码格 式化策略、文档摘要生成策略、版权信息扫描、元数据替换策略、公开API 保护策略、将标题添加到新添加的源文件策略、智能合并策略、内容更新 标记策略、为不同平台导出策略、为特定用户设定版本策略、冲突通知策 略及其组合。应该理解,生成的版本控制定制策略的实例并不限于此,其 可以是上述版本控制选项的組合,也可以包括本领域的技术人员公知的现 有和将来开发的任何版本控制定制策略。接着,在步骤202,将生成的版本控制定制策略与一个项目或用户相 关联。
具体地,项目管理员根据该项目的偏好在步骤201中生成新的版本控 制定制策略,作为该项目的项目强制策略;或者项目管理员在已经生成的 版本控制定制策略选择一个,作为该项目的项目强制策略。术语"项目强 制策略,,是指该策略与和该项目相关的用户相关联,即在与该项目相关的 用户对源文件进行动作时,会同时执行该项目强制策略。此外,不同的项 目管理员可以根据各自项目的偏好选择各自的项目强制策略。项目强制策 略可以包括一个或多个上述版本控制定制策略,这些策略构成该项目的策 略组。
策略组是用于特定项目使用的一个或多个策略,如图6所示,其中示 出了才艮据本发明的实施例在初始化可定制策略层时项目管理员选择并定义 项目强制策略的示意图。在图6中,项目A的管理员为项目A定制了项目A策略组,该策略 组包括策略X、策略Y等。项目B的管理员为项目B定制了项目B策略 组,该策略组包括策略P、策略Q等。此外,用户可以根据自己的偏好从步骤201中生成的版本控制定制策 略中选择或定制与其相关联的版本控制定制策略,作为该用户的用户定制 策略。术语"用户定制策略,,是指在该用户对源文件进行动作时,会同时 执行该用户定制策略。用户定制策略可以包括一个或多个上述版本拴制定 制策略,本发明对此并没有限制。最后,在步骤203,保存上述版本控制定制策略及其相关联的项目或 用户的信息。具体地,将在步骤201中生成的版本控制定制策略和在步骤202中获的可定制策略层(customizable policy layer)中,如图3所示,其是根据 本发明的实施例的可定制策略层与版本控制档案库的示意图。在图3中,可定制策略层位于用户和版本控制档案库之间。可定制策 略层包含所有的策略(例如可定制添加源控制策略、可定制签入/签出策略、 可定制导出策略等)和策略组,以及与该策略或策略组相关联的项目或用 户的信息。每个策略组都至少与一个项目相关联。每个用户选定的策略列 表进入可定制策略层,作为选定策略的输入源,然后在可定制策略层执行 ^^莫块中执行选定策略。另外,也可以先生成定制版本控制策略,然后将生 成的定制版本控制策略存储,在项目应用中项目管理员在已经生成的版本 控制定制策略选择一个或多个,和用户以及项目相关联后再将关联关系存 储,也是步骤201、 203、 203的一种特殊实施方式。通过以上的说明可知,本实施例的为版本控制设置定制策略的方法可 以在版本控制系统中为不同的项目或用户定制不同的策略,并在对不同的 源文件和项目进行开发期间进行相应的定制,从而极大地提高了版本控制
系统的灵活性。版本控制方法在同一发明构思下,图4是根据本发明的另一个实施例的版本控制方 法的流程图。下面就结合该图,对本实施例进行描述。对于那些与前面实 施例相同的部分,适当省略其说明。在图4中,首先,在步骤401,接收版^制的命令。 总的来说,版本控制命令包括在版本控制系统中用户发出的添加文件, 更新版本控制系统中的文件,或从版本控制系统中取出文件或者系统发出 的其它相关命令中。具体地说,该命令可以包括在添加源控制、签入、签 出、导出以及本领域的技术人员公知的任何其它命令中,本发明对此并不 限制。接着,在步骤402,获得与所述版本控制的命令相关联的一个或多个 版本控制定制策略,其中每个上述版本控制定制策略包含预先选择或设置 的版本控制选项,以及与该版本控制定制策略相关联的项目或用户的信息。 也可能版本控制定制策略没有相关联的项目或用户信息,而是在接收的版 本控制命令中包含有相关联的项目或用户的信息,这种情况,在此将它们 关联起来。这些版本控制定制策略及与每个版本控制定制策略相关联的项 目或用户的信息可以保存在版本控制系统的可定制策略层中。这里,获得令时定制版本控制定制策略,也可以事先将版本控制的命令与一个或多个 已经存储的版本控制定制策略相关联,在运行版本控制的命令时再取出该 版本控制定制策略,也可以先定制版本控制定制策略,但不将其与版a 制的命令相关联,而在运行版本控制的命令时再关联,等等多种实施方式。 可选版本控制定制策略的实例包括但不限于代码格式化策略、文档 摘要生成策略、版权信息扫描、元数据替换策略、公开API保护策略、将 标题添加到新添加的源文件策略、智能合并策略、内容更新标记策略、为 不同平台导出策略、为特定用户设定版本策略、冲突通知策略等。应该理 解,可选的版本控制定制策略的实例并不限于此,其可以是上述版本控制 定制策略的组合,也可以包括本领域的技术人员公知的现有和将来开发的 任何版本控制定制策略。最后,在步骤403,根据选棒的版本控制定制策略,自定义地执行上 述版本控制的命令。具体地,如图5所示,示出了根据本发明的实施例的用户命令与定制 策略和项目强制策略进行相关动作的示意图。图5中左侧示出的命令为例 如添加/更新文件命令。该命令具有用户选择的定制策略A和策略E,以及 与该命令相关的项目的项目定制策略,该项目强制策略包括策略X和策略 Y。自定义地执行该版本控制的命令的步骤包括首先将与该命令相关的 文件发送到可定制策略层,接着在可定制策略层中对该相关文件执4亍策略 A、策略E、策略X和策略Y的动作,之后将产生的文件发送到版本控制 档案库中用于保存。图5中右侧示出的命令为例如取出文件命令。该命令具有用户选择的 定制策略B、策略D和策略F,以及与该命令相关的项目的项目定制策略, 该项目强制策略包括策略X和策略Y。自定义地执行该版本控制的命令的 步骤包括首先将与该命令相关的文件从版本控制档案库中取出并发送到 可定制策略层,接着在可定制策略层中对该相关文件执行策略B、策略D、 策略F、策略X和策略Y的动作,之后将产生的文件发送给用户。下面通过一个优选的实施例来说明本发明在版本控制中策略设置和策 略实现的过程。第一阶段定制项目强制策略在一个项目进行到编码阶段时,项目管理员为该项目建立了一个版本 化对象库(Versioned Object Base, VOB ),并选择了几个定制策略作为 该项目的策略组,即项目强制策略。下面的表l示出了用户界面(UI)的 一个实例。表l P。li cy naiB, ..................... | Type□ File header convention policyAdd into source controlPI Smart merge policyCheck"in□ Update informati on coiwen" on poli cy门Export for diffeirent pi "form policyExport例如项目"P"的管理员为该项目定义了如下项目强制策略(a) 将标题添加到新添加的源文件策略将标题添加到新添加的源文件策略执行模块自动将定制的标题信息添 加到源文件的内容的前面。它的类型表明它在添加源控制交互时执4亍。项 目管理员定义了如下内容信息/*MwAw <w>w朋膨>* j//々& fes"verf.*/(b) 智能合并策略在并行开发过程中当多个开发人员同时修改一个源文件时,智能合并 策略执行模块进行智能自动源文件内容合并。它的类型表明它在签入交互时执行。 一旦在合并时发生冲突,通过对内容进行分析扫描判断,如果发 现对源代码的修改不影响程序本身的逻辑,比如增加了空白行、空白字符 或者注释信息,那么可以对冲突部分进行直接叠加;如果对源代码的修改 影响了程序本身的逻辑,那么可以按照缺省的方式通知用户并最终由用户 决定是否覆盖。(c) 代码格式化策略策略层中代码格式化策略执行模块将根据预设的类型模板格式化代码 类型,以使源文件更容易阅读和理解。它的类型表明它在添加源控制和签 入交互时执行。
u)版权信息扫描策略策略层中版权信息扫描策略执行模块将通过检查文件标题和注释部分来扫描源代码(例如"GPL" 、 "CPL"许可标识符)以确认其是否包括 第三方代码,从而确保不将版权沖突代码签入版本控制档案库。如果发现 违反,将阻止该操作。它的类型表明它在添加源控制和签入交互时执行。 (e)公开API保护策略策略层中公开API保护策《^行模块将不允许对这些公开API进行接 口改变,例如重命名、更改或删除。如果发现违反,将阻止该操作。它的 类型表明它在签入交互时执行。第二阶段添加新的源文件开发人员开始将新的源文件添加到可定制版本控制系统的源控制中。 开发人员"Sam"于"2006-04-28"在源控制中添加了项目"P"的源文件 "/Te〃汰7flvfl",同时没有选择任何策略。源文件经过可定制策略层,并且可 定制策略层发现项目"P"的策略组。然后,根据正确的类型,对源文件 执行策略组中的上述策略。在此情况下,源文件由"将标题添加到新添加 的源文件策略"和"代码格式化策略"进行了修改。源文件为mwW");7戸Mc兩V/修改后的源文件为/** J〃 msen^</.*///if ;c = O,'此时,开发人员"Ling"想将来自第三方的源文件添加到源控制中。 例如他想将如下源文件添加到源控制中,同时没有选择任何策略〃 GPL License agreement, 2006此时,策略层中的策略执行模块将进行动作。在此情况下,"版权信 息扫描策略"执行模块确定"GPL"签名意味着存在由第三方开发的一些 内容。因此,该添加源文件的操作失败,由此"Ling"将得到一个4普误消 息。第三阶段并行开发开发人员并行更新源文件。通常,允许多个开发人员对相同的源文件 进行并行处理。例如,两个开发人员"Sam"和"Ling"同时更新项目"p" 的同一源文件"fl^/汰力vfl"。他们同时签出该文件,并且"Ling"首先签入 该文件,并选择了 "内容更新标记策略"。这意味着源文件的内容将被评 价,并将在更新代码部分前面的源文件的内容中如下插入信息行public class Hello { int x = 0;public void printHello() {System.out.println("Hdlo world");public void printBye() {System.out.println("Bye,,);然后,根据正确的类型,利用该项目的策略组中的上述策略修改源文 件。在此情况下,对于"Ling"的签入动作,不执行"智能合并策略,,, 因为不存在与他的签入动作的冲突。此外,"代码格式化策略"、"版权 信息扫描策略"和"公开API保护策略,,的执行模块也将进行动作。在此 情况下,源文件将不改变。随后,"Sam"完成他的更新并将文件签入,同时也选择了 "内容更 新标记策略",结果如下public class Hello { int x = 0;/辟to W A% 7, 2, — 5Vi附 //if = /,.public void printHdlo() {System.out.println("Hello world"); public void printBye() {System.out.println("Bye,,);然后,根据正确的类型,利用该项目的策略组中的上述策略修改源文 件。在此情况下,对于"Sam"的签入动作,将执行"智能合并策略", 因为存在"Sam"和"Ling"的动作之间的可能冲突。在简单的判断之后, 系统认为"Sam"和"Ling"的动作之间没有冲突,从而如下自动执行智 能合并public class Hello { hit x = 0;/辟rf^ W May J,層6 — ^ ^鎖 fl =力public void printHello() {System.out.println("Hello world");public void printBye() {System.out.println("Bye,,);此外,策略层中"代码格式化策略"、"版权信息扫描策略"和"公 开API保护策略"执行模块也将进行动作。在此情况下,源文件将不改变。之后,开发人员"Ling"再次签出源文件,以及他签入源文件,并没 有选择任何策略。他如下改变了一个公开API名称
public void printHelloWorld() {策略层中的策《^1行模块将执行动作。在此情况下,"公开API保护 策略"执行模块将确定公开API接口已经改变,从而此时签入操作失败。 "Ling"将得到一个镣误消息,并且源文件将不改变。之后,另一个开发人员"Tom"想要查看文件"Hello.java"的主要内容。 他打开文件并选择"文档摘要产生策略",此时,只将文件的主要部分发 送给他。主要部分的内容如下戸緒C VWV/戸W^fl^〃0(),.戸緒c簡V//7"Vi^B^e(9,. 第四阶段为不同平台进行构建集成人员取出相关的文件用于不同的构建(build)。在大多数情况下, 需要不同的构建用于不同的平台。因此,集成人员选择"为不同平台导出 策略"并选择"DOS"和"UNIX"作为用户偏好。这意味着这些源文件 将在本地导出两份 一份是"DOS"格式文件,另一份是"UNIX"格式 文件。通过以上的说明可知,本实施例的版本控制方法可以在版本控制系统 中为不同的项目或用户定制不同的策略,并在对不同的源文件和项目进行 开发期间进行相应的定制,从而极大地提高了版本控制系统的灵活性。另外,需要指出本发明的为版本控制设置定制策略的方法和版本控制本控制的环境中,例如,文档管理系统、办公自动化系统等等,其原理与 前面描述的程序开发相同,在此不做重复说明。 为版本控制设置定制策略的装置在同一发明构思下,图7是根据本发明的另一个实施例的为版本控制 设置定制策略的装置的方框图。下面就结合该图,对本实施例进行描述。 对于那些与前面实施例相同的部分,适当省略其说明。如图7所述,本实施例的为版本控制设置定制策略的装置700包括 策略生成单元701,用于通过选择或设置版本控制选项,生成一个或多个 版本控制定制策略;策略定制单元702,用于将策略生成单元701生成的 版本控制定制策略与一个项目或用户相关联;以及保存单元703,用于保 存上迷版本控制定制策略及其相关联的项目或用户的信息。具体地,版本控制档案库与上述参考图2的实施例中描述的相同,在 此不在赘述。版本控制选项包括但不限于代码格式化策略、文档摘要生 成策略、版权信息扫描、元数据替换策略、公开API保护策略、将标题添 加到新添加的源文件策略、智能合并策略、内容更新标记策略、为不同平 台导出策略、为特定用户设定版本策略、冲突通知策略及其组合。应该理 解,本发明并不限于此,因此,本发明的版本控制档案库可以包括本领域 的技术人员公知的现有和将来开发的任何版本控制选项。策略定制单元702可以为不同的项目定制项目强制策略,并可以为不 同的用户定制用户定制策略。从而,通过定制将将策略生成单元701生成 的版本控制定制策略与一个项目或用户相关联。保存单元703将上述版本控制定制策略及其相关联的项目或用户的信 息保存在可定制策略层中,可定制策略层与上述参考图3的实施例中描述 的相同,在此不在赘述。通过以上的说明可知,本实施例的为版本控制设置定制策略的装置 700可以为不同的项目或用户定制不同的策略,并在对不同的源文件和项 目进行开发期间进行相应的定制,从而极大地提高了版本控制系统的灵活 性。版本控制定制策^行装置在同一发明构思下,图8是根据本发明的另一个实施例的用于执行版 本控制定制策略的装置的方框图。下面就结合该图,对本实施例进行描述。 对于那些与前面实施例相同的部分,适当省略其说明。
如图8所述,本实施例的版本控制定制策略执行装置800包括命令 接收单元801,用于收版本控制的命令;策略获得单元802,获得与命令接 收单元801接收到的版本控制的命令相关联的一个或多个版本控制定制策 略,其中每个上述版本控制定制策略包含预先选择或设置的版本控制选项; 关联信息获得单元803,获得相关联的项目或用户的信息;以及命令执行 单元804,根据策略获得单元802获得的一个或多个版本控制定制策略和 关联信息获得单元803获得的相关联的项目或用户的信息,自定义地执行 上述版本控制的命令。具体地,命令接收单元801接收的命令包括在版本控制系统中添加文 件,更新版本控制系统中的文件,或从版本控制系统中取出文件。具体地 说,该命令可以包括添加源控制、签入、签出、导出以及本领域的技术人 员公知的任何其它命令,本发明对此并不限制。策略获得单元802获得的每个上述版本控制定制策略中包含的预先选 择或设置的版本控制选项的实例包括但不限于代码格式化策略、文档摘 要生成策略、版权信息扫描、元数据替换策略、公开API保护策略、将标 题添加到新添加的源文件策略、智能合并策略、内容更新标记策略、为不 同平台导出策略、为特定用户设定版本策略、沖突通知策略等。应该理解, 可选的版本控制定制策略的实例并不限于此,其可以是上述版本控制定制 策略的组合,也可以包括本领域的技术人员公知的现有和将来开发的任何 版本控制定制策略。关联信息获得单元803获得的相关联的项目或用户的信息可以包含在 版本控制定制策略中,或者也可能版本控制定制策略没有相关联的项目或用户信息,而是在接收的版本控制命令中包含有相关联的项目或用户的信 息,这种情况,在此将它们关M来。这些版本控制定制策略及与每个版 本控制定制策略相关联的项目或用户的信息可以保存在版本控制系统的可 定制策略层中。这里,获得与所述版本控制的命令相关联的版本控制定制 策略可以在执行版本控制命令时定制版本控制定制策略,也可以事先将版 本控制的命令与 一个或多个已经存储的版本控制定制策略相关联,在运行
版本控制的命令时再取出该版本控制定制策略,也可以先定制版^4^制定 制策略,但不将其与版本控制的命令相关联,而在运行版本控制的命令时 再关联,等等多种实施方式命令执行单元804位于图3所示的可定制策略层中,并根据上述选择 的版本控制定制策略,自定义地执行上述版本控制的命令。具体的执行过 程与上述参考图5的实施例中的描述相同,在此不在赘述。通过以上的说明可知,本实施例的版本控制定制策#行装置800可 以为不同的项目或用户定制不同的策略,并在对不同的源文件和项目进行 开发期间进行相应的定制,从而极大地提高了版本控制系统的灵活性。版本控制系统在同一发明构思下,图9是根据本发明的另一个实施例的版本控制系 统的方框图。下面就结合该图,对本实施例进行描述。对于那些与前面实 施例相同的部分,适当省略其说明。如图9所述,本实施例的版本控制系统900包括上述的版本控制定 制策略设置装置700;版本控制档案库903;以及上述的版本控制定制策略 执行装置800。通过以上的说明可知,本实施例的版本控系统900可以为不同的项目 或用户定制不同的策略,并在对不同的源文件和项目进行开发期间进行相 应的定制,从而极大地提高了版本控制系统的灵活性。以上虽然通过一些示例性的实施例详细地描述了本发明的为版本控制 设置定制策略的方法、版本控制方法、为版本控制设置定制策略的装置、版本控制定制策略执行装置以及版本控制系统,但是以上这些实施例并不 是穷举的,本领域技术人员可以在本发明的精神和范围内实现各种变化和修改。因此,本发明并不限于这些实施例,本发明的范围仅由所附权利要求为准。
权利要求
1. 一种为版本控制设置定制策略的方法,包括以下步骤 通过选择或设置版本控制选项,生成至少一个版本控制定制策略; 将已生成的版本控制定制策略与一个项目或用户相关联;以及 保存上述版本控制定制策略及其相关联的项目或用户的信息。
2. 根据权利要求1所述的为版本控制设置定制策略的方法,其中, 上述版本控制选项包括选自如下的至少一种代码格式化策略、文档摘要 生成策略、版权信息扫描、元数据替换策略、公开API保护策略、将标题 添加到新添加的源文件策略、智能合并策略、内容更新标记策略、为不同 平台导出策略、为特定用户设定版本策略、冲突通知策略及其组合。
3. 根据权利要求1或2所述的为版本控制设置定制策略的方法,还 包括重复上述生成至保存的步骤。
4. 根据权利要求3所述的为版本控制设置定制策略的方法,其中, 一个项目与多个版本控制定制策略相关联。
5. 根据权利要求3或4所述的为版本控制设置定制策略的方法,其 中, 一个用户与多个版本控制定制策略相关联。
6. 根据权利要求1或3所述的为版本控制设置定制策略的方法,其 中,与项目相关的用户和与该项目相关联的版本控制定制策略相关联。
7. 根据权利要求1所述的为版本控制设置定制策略的方法,其中,存在可定制策略层中。
8. —种版本控制方法,包括以下步骤 接收版本控制的命令;获得与上述版本控制的命令相关联的至少一个版本控制定制策略,其 中每个上述版本控制定制策略包含预先选择或设置的版本控制选项; 获得相关联的项目或用户的信息;以及根据上述获得的至少一个版本控制定制策略及相关联的项目或用户的信息,自定义地执行上述版本控制的命令。
9. 根据权利要求8所述的版本控制方法,其中,上述版本控制选项 包括选自如下的至少一种代码格式化策略、文档摘要生成策略、版权信 息扫描、元数据替换策略、公开API保护策略、将标题添加到新添加的源 文件策略、智能合并策略、内容更新标记策略、为不同平台导出策略、为 特定用户设定版本策略、沖突通知策略及其组合。
10. 根据权利要求8或9所述的版本控制方法,其中,上述获得与上 述版本控制的命令相关联的至少 一个版本控制定制策略的步骤包括获得与上述版本控制的命令所针对的项目相关联的至少一个版本控制 定制策略。
11. 根据权利要求8-10中任何一项所述的版本控制方法,其中,上述 获得与上述版本控制的命令相关联的至少 一个版本控制定制策略的步骤包 括获得与上述用户相关联的至少 一个版本控制定制策略。
12. 根据权利要求8或10所述的版本控制方法,其中,与项目相关 的用户和与该项目相关联的版本控制定制策略相关联。
13. —种为版本控制i殳置定制策略的装置,包括 策略生成单元,用于通过选择或设置版本控制选项,生成至少一个版本控制定制策略;策略定制单元,用于将上述策略生成单元生成的版本控制定制策略与 一个项目或用户相关联;以及保存单元,用于保存上述版本控制定制策略及其相关联的项目或用户 的信息。
14. 根据权利要求13所述的为版本控制设置定制策略的装置,其中, 上述版本控制选项包括选自如下的至少一种代码格式化策略、文档摘要 生成策略、版权信息扫描、元数据替换策略、公开API保护策略、将标题 添加到新添加的源文件策略、智能合并策略、内容更新标记策略、为不同 平台导出策略、为特定用户设定版本策略、冲突通知策略及其组合。
15. 4艮据冲又利要求13或14所述的为版本控制i殳置定制策略的装置, 其中上述策略生成单元生成多个版本控制定制策略。
16. 根据权利要求15所述的为版本控制设置定制策略的装置,其中, 上述策略定制单元使一个项目与多个版本控制定制策略相关联。
17. 根据权利要求15或16所述的为版本控制设置定制策略的装置, 其中,上述策略定制单元使一个用户与多个版本控制定制策略相关联。
18. 根据权利要求13或15所述的为版本控制设置定制策略的装置, 其中,上述策略定制单元^f吏与项目相关的用户和与该项目相关联的版本控 制定制策略相关联。
19. 根据权利要求13所述的为版本控制设置定制策略的装置,其中,存在可定制策略层中。
20. —种用于执行版本控制定制策略的装置,包括 命令接收单元,用于接收版本控制的命令;策略获得单元,用于获得与上述版本控制的命令相关联的至少一个版 本控制定制策略,其中每个上述版本控制定制策略包含预先选择或i殳置的 版本控制选项;关联信息获得单元,用于获得相关联的项目或用户的信息;以及 命令执行单元,根据上述策略获得单元获得的至少 一个版本控制定制策略以及上述关联信息获得单元获得的相关联的项目或用户的信息,自定 义地执行上述版本控制的命令。
21. 根据权利要求20所述的用于执行版本控制定制策略的装置,其 中,上述版本控制选项包括选自如下的至少一种代码格式化策略、文档 摘要生成策略、版权信息扫描、元数据替换策略、公开API保护策略、将 标题添加到新添加的源文件策略、智能合并策略、内容更新标记策略、为 不同平台导出策略、为特定用户设定版本策略、冲突通知策略及其组合。
22. 根据权利要求20或21所述的用于执行版本控制定制策略的装 置,其中,上述策略获得单元获得与上述版本控制的命令所针对的项目相关联的至少 一个版本控制定制策略。
23. 根据权利要求20-22中任何一项所述的用于执行版本控制定制策 略的装置,其中,上述策略获得单元获得与上述用户相关联的至少一个版 本控制定制策略。
24. 根据权利要求20或22所述的用于执行版本控制定制策略的装 置,其中,与项目相关的用户和与该项目相关联的版本控制定制策略相关联。
25. —种版本控制系统,包括根据权利要求13-19中任何一项所述的为版本控制设置定制策略的装置;版本控制档案库;以及根据权利要求20-24中任何一项所述的用于执行版本控制定制策略的 装置。
全文摘要
本发明提供了为版本控制设置定制策略的方法、版本控制方法、为版本控制设置定制策略的装置、版本控制定制策略执行装置以及版本控制系统。根据本发明的一个方面,提供了一种为版本控制设置定制策略的方法,包括以下步骤通过选择或设置版本控制选项,生成至少一个版本控制定制策略;将已生成的版本控制定制策略与一个项目或用户相关联;以及保存上述版本控制定制策略及其相关联的项目或用户的信息。
文档编号G06F9/44GK101145101SQ200610153879
公开日2008年3月19日 申请日期2006年9月14日 优先权日2006年9月14日
发明者岭 张, 贤 李 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1