CN100456236C - 在配置管理系统中基于活动版本选择的计算机方法和装置 - Google Patents

在配置管理系统中基于活动版本选择的计算机方法和装置 Download PDF

Info

Publication number
CN100456236C
CN100456236C CNB2006101446617A CN200610144661A CN100456236C CN 100456236 C CN100456236 C CN 100456236C CN B2006101446617 A CNB2006101446617 A CN B2006101446617A CN 200610144661 A CN200610144661 A CN 200610144661A CN 100456236 C CN100456236 C CN 100456236C
Authority
CN
China
Prior art keywords
version
baseline
finished product
variations
indication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2006101446617A
Other languages
English (en)
Other versions
CN1987777A (zh
Inventor
吉奥弗雷·M.·克莱姆
布赖恩·P.·多罗斯
卡罗尔·D.·尤特科维茨
纳塔尼尔·W.·米什金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1987777A publication Critical patent/CN1987777A/zh
Application granted granted Critical
Publication of CN100456236C publication Critical patent/CN100456236C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

一种用于选择软件程序成品的计算机方法和装置,包括历史装置和处理器装置。历史装置指示(a)在形成目标软件程序配置的给定的多个成品中每一成品的基线版本和(b)每一成品的各变化组信息。不同的变化组对应于不同的成品版本。处理器装置确定在使用指示的基线版本和变化组信息的目标软件程序配置中的成品版本。处理器装置使配置管理系统能够向用户显示确定的成品版本。

Description

在配置管理系统中基于活动版本选择的计算机方法和装置
背景技术
软件开发通常按照项目组被执行。目标软件系统通过设计工作、测试工作、实施工作和维护工作被开发。可能有不同的组和不同的组成员参与这些工作。在整个这些工作的过程中以及在工作组成员中,各种建模和其它开发工具被用于在开发目标软件系统中增进联系和提高一致性。软件配置管理系统就是这样一种工具。
软件配置管理系统使得用户组(软件开发员/工程师)能够利用目标软件系统的成品进行工作。“成品”为用户完成工作的稳定结果,通常存在(persist)于诸如模型(model)和源代码的文件系统中。
软件配置管理(SCM)系统必须向用户提供一种方法,用来配置其工作区以选择他们正在工作的成品(例如文件)的适当版本。传统的SCM系统将工作区的配置集中在单个成品的选择上,利用每个成品的文件名、版本号或模式来选择适当的版本。
发明内容
本发明针对现有技术的问题并且提供了一种基于活动版本(ABVS)的配置管理系统。在优选实施例中,本发明采用成品历史装置和处理器装置。成品历史装置指示(a)在形成目标软件程序配置的给定的多个成品中每一成品的基线版本和(b)每一成品的各变化组信息。不同的变化组对应于不同的成品版本。处理器装置使用指示的基线版本和变化组信息确定目标软件程序配置中的成品版本。处理器装置使配置管理系统能够向用户显示确定的成品版本。
处理器装置(例程)最好是基于规则的并且包括间隙选择错误解决方案和冲突选择错误解决方案。
附图说明
根据下面对本发明的优选实施例的更详细的描述,本发明的上述和其它的目的、特征和优点将变得显而易见,如附图中所示的,其中在不同的图中,相同的标号表示相同的部分。这些图不一定是按比例绘制的,而是把重点放在对本发明原理的说明上。
图1是说明成品历史示图的示意图。
图2-5是说明本发明的版本选择的示意图。
图6是说明其中操作本发明的实施例的计算机网络环境的示意图。
图7是图6的网络的一个计算机节点的方框图。
图8是本发明的一个实施例的方框图。
具体实施方式
下面将对本发明的优选实施例进行描述。
图8中所示的为由成品15、17、21的一个或多个构成的目标软件程序13。成品15、17、21的每个具有各自的版本A、B等。因此,目标软件程序13的一种配置22采用成品15的版本A、成品17的版本B和成品21的版本A。目标软件程序13的其它配置22采用成品15、17、21的其它版本。配置管理系统19使用户能够产生并对目标软件程序13的这样的不同配置22进行操作(例如编辑、测试、重新设计等)。因此,配置管理系统19的主要部分是版本选择器11,该版本选择器11用于在用户对目标软件13和其各种配置22进行操作或与其交互的不同时间选择适当的软件程序成品版本。版本选择器11承载用户的工作空间和在其中显示的内容,如下面进一步描述的。本发明为迄今为止现有技术还未实现的一种改进的或新颖的版本选择器11。
本发明提供了配置管理程序19中基于活动的版本选择(ABVS)。就用户正在做的项目连同用户正在做的增加工作的逻辑单元项目而言,本发明系统11将选择方法抽象化以最好地表达工作区的配置22。
为了理解本发明的ABVS,申请人首先定义了一些术语。
“成品(artifact)”是用户完成工作的稳定结果,通常存在于比如模型和源代码的文件系统中。
“活动”用于跟踪用户完成工作的结果。活动的“变化组(change-set)”是由执行该活动的实施者制成的成品的一组变化。
“项目”用于分组相关的成品组和相关的活动组。项目还用于分组被称作该项目的“子项目”的相关项目组。
“基线(baseline)”为项目的持续状态,其识别项目中的每一成品的版本以及哪些其它的项目为该项目的子项目。子项目的关系的持续状态被称作“子基线”。
“工作空间”用于限定用户的工作环境以包含该用户所需的成品和跟踪执行这些任务的结果的活动。工作空间被描述为“接受”限定其配置的项目基线和活动变化组。
本发明ABVS的基本动机在于:其以应该对用户直观的目的为基础;项目的基线为“我的起始点”并且变化组为表示这些基线的增量(delta)的自然工作单元。ABVS使用户能够根据说明指定工作环境,即更具体地比如说“我想看这些项目和与由下列变化组指示的变化组合的其子项目的基线版本”。
虽然一些SCM系统为组织工作提供活动或变化组机构,但没有一个SCM系统将活动信息与项目信息组合来选择版本,也没有一个SCM系统通过子项目关系使用项目的聚合来选择版本。本发明ABVS可做这两项工作。因此,本发明的实施例将变化组与基线组合以限定配置,如从下面将理解的。
一个ABVS情景是其中工作空间的配置仅参考项目基线(不参考变化组),并且两个基线不是引用(refer to)相同成品历史的版本。在这种情况下,工作空间(版本选择器11)选择基线中指定的版本并且将该版本显示给最终用户。
下面,考虑不太重要的ABVS情景:工作空间配置包含引用成品历史的版本A的一个项目基线,和引用作为版本A的紧接后续版本(successor)的版本B的一个变化组。在这种情况下,版本选择器11为工作空间选择版本B(即显示给最终用户)。
当工作空间的配置引用任意分布在单成品历史示图上的多个版本时,事情变得更加复杂。出现的问题是:当访问成品时用户想看哪一版本?
一种多项选择的情况具有清晰的答案。如果基线引用的版本和变化组引用的所有版本为成品历史版本示图的邻接子示图,其中正好子示图的一个版本不具有任何后续版本,则本发明系统11拾取那个版本。这种情况对应于其中用户已识别一组基线和改变相同的成品历史并逻辑地彼此“依靠”的变化组的逻辑情况。
例如,在图1所示的成品历史28中,基线L1、变化组A2和变化组A4引用(reference)来自成品历史的邻接子示图的版本A、B、D和F。因为版本A、B、D和F为连续子示图,所以接受这些变化组(A2和A4)和基线(L1)的工作空间(使用版本选择器11)选择版本F。其动机在于:F为版本A、B、D(即版本F的先前版本)和F本身所引入的工作产品;基线L1表示在版本A和B完成的工作,变化组A2表示在版本D完成的工作,变化组A4表示在版本F完成的工作。然后,将所有这些变化组和基线“合计”为产生版本F的版本集(A、B、D、F)。因此,版本F一定是在接受这些变化组(A2和A4)和基线(L1)的工作空间中选择的正确的版本。
概括点说,单一版本可被看作表示在该版本和所有其先前版本完成的所有工作的总和。广义地说,基线可被看作表示在一组成品历史的一组版本(每一成品历史的一个版本和其先前版本)完成的所有工作的总和。申请人指出在本发明的ABVS方法和技术(在11中)中基线可激活所有这些版本。另一方面,变化组被看作仅表示产生其版本组的被完成的工作;其仅激活变化组中的版本(而不是这些版本的先前版本)。
本发明ABVS系统11中的版本选择的起始点为由工作空间的配置激活的所有版本组的计算。此后,版本是怎样进入配置的(即是否因为基线或子基线或因为变化组)与选择过程无关。对于ABVS系统11选择版本,其必须能够把激活的版本组描述为包含(并且仅包含)单一版本和所有其先前版本。
参照图2考虑更复杂的示例。假定工作空间接收基线L1、变化组A1、变化组A2和变化组A3(图2中由下划线表示)。因此,激活的版本组(由阴影圈表示)为包含版本A、B、C、D和E的组或{A、B、C、D、E}。其中来自连续子示图的激活的版本组的版本A、B、C、D和E可被描述为版本E和其先前版本。因此,本发明系统11使得工作空间能够在接收基线L1和变化组A1、A2和A3时选择并显示版本E。
选择错误
参照图3,考虑有问题的示例。假定工作空间接收基线L1和变化组A4。配置中(下划线)的目标变化组和基线产生激活的版本组{A、B、F}(阴影部分)。在示图中没有一个版本仅表示在该激活版本组中完成的工作。版本F逻辑上包含在版本D中完成的工作,该版本D不是由目标变化组A4和基线L1激活的版本,因此不能作为工作空间/本发明系统11选择的版本。由于该组变化组A4和基线L1不选择单一版本的所有先前版本(即不形成邻接的子示图),因此该配置无效并且工作空间不能选择成品历史的版本。申请人把这称作间隙选择错误。当存在这样的间隙错误时,本发明系统11向用户提供可被增加以消除该间隙的变化组的列表。
考虑另一有问题的示例,注意看图4。假定工作空间接收基线L1和变化组A1、A2、A3和A4(下划线所示的每一个)。这产生了图4中阴影所示的激活的版本组{A、B、C、D、E、F}。这里的问题在于,激活的版本组不激活单一版本和所有其先前版本,而是激活两个版本(E和F)和所有其各自的先前版本。申请人把这称作冲突选择错误。然而,与间隙选择错误不同,通过创建新版本H可解决冲突选择错误。在这种情况下,本发明系统11创建新版本作为版本E和F的直接后续版本。即,本发明系统11使用版本D(最近的公共原始版本)作为合并的基础合并这些版本E和F,并且产生新版本H。然后,使用或利用版本H作为一些新的或现存的变化组的部分,工作空间将其包括在它的配置中。
如果工作空间配置包括基线L1、变化组A1和变化组A2(下划线的),激活版本组{A、B、C、D},如图5中阴影所示,则出现类似的冲突选择错误。然而,在这种情况下,通过将变化组A3接收进工作空间,产生激活的版本组{A、B、C、D、E},错误被解决。因此,工作空间(通过本发明系统11)选择版本E。
ABVS中的项目基线
由于在工作空间的配置中可出现同一项目历史的多个基线,因此本发明的ABVS系统11也用于确定为工作空间选择项目历史的哪个基线。尽管项目历史的ABVS在概念上类似于成品历史的ABVS,但其有两个主要的不同之处。
第一不同之处在于复合基线示图加入激活基线的子基线作为新的激活基线,然后ABVS11用于从新的激活基线的组中选择基线。然后该选择的基线被用于从成品历史中选择版本。
第二不同之处在于在基线选择期间不会出现间隙选择错误。这是非常重要的,因为基线可具有早于其先前基线的成员,因此说基线一定包括其先前基线包括的一切是不正确的。事实上,新基线的整个点可能会返回先前基线中的一些变化。
但是,基线冲突错误仍是可能的。如果在基线选择期间出现冲突错误,则冲突的基线必须被合并或工作空间必须被重新配置以在可创建项目的新的基线之前接收不同的基线或活动。
示例ABVS系统11的规则
在优选实施例中,本发明的基于活动的版本选择系统11按照规则序列被实现或被规定。每一规则具有一组条件和一组动作。如果规则的所有条件均被满足,则该规则的动作被执行。在列中的下一(随后)规则被执行之前,规则被尽可能地执行很多次。
基本:工作空间W接收一组项目基线和活动变化组。
基线规则
如果W接收基线B,不接收B的任何后续基线,
则W激活B和B的每一子基线。
如果W激活项目P的基线B并且不激活B的任何后续基线,
则W选择B。
变化组规则
如果W接收活动A的变化组C,并且不接收C的任何后续,
则W激活C。
如果W激活活动A的变化组C,并且不激活C的任何后续,
则W选择C。
版本规则
如果W仅选择项目的一个基线B,并且B引用版本V,
则W激活V和V的每一先前版本。
如果W选择变化组C,并且版本V为C的产品,
则W激活V。
如果W激活成品历史H的版本V,并且W激活V的所有先前版本,
则W选择并显示V。
基线选择错误
冲突:同一项目的多个基线被选择。
版本选择错误
冲突:同一成品的多个版本被选择。如上所述,通过使用最近的公共原始版本作为合并的基础来合并多个版本,冲突可被解决。
间隙:激活的版本具有未被激活的先前版本。如上所述,通过向用户提供变化组的列表(如果其被加入可消除该间隙),间隙可被解决。
图6示出其中可实现本发明的计算机网络或类似的数字处理环境。
客户计算机/设备50和服务器计算机60提供执行应用程序等的处理、存储和输入/输出设备。客户计算机/设备50也可通过通信网络70与包括其它客户设备/处理器50和服务器计算机60的其它计算设备相连。通信网络70可以是远程访问网络、全球网络(例如因特网)、一组全球范围的计算机、局域或广域网和当前使用各协议(TCP/IP、蓝牙等)相互进行通信的网关的一部分。其它电子设备/计算机网络体系结构也是适合的。
图7是在图6的计算机系统中的计算机(例如客户处理器/设备50或服务器计算机60)的内部结构的示图。每一计算机50、60包含系统总线79,其中总线为用于在计算机或处理系统的部件中的数据传输的一组硬连线。总线79本质上是能够在部件之间进行信息传输的、连接计算机系统的不同部件(例如处理器、盘存储器、存储器、输入/输出端口、网络端口等)的共享通道。连接到系统总线79的是I/O设备接口82,用于将各种输入和输出设备(例如键盘、鼠标、显示器、打印机、扬声器等)与计算机50、60相连。网络接口86使计算机能够与连接到网络(例如图6的网络70)的各种其它设备相连。存储器90提供用于实现本发明实施例的计算机软件指令92和数据94(例如成品历史示图(或每一成品的类似基线和变化组数据)28、基线规则、版本规则、选择-错误考虑、和能够进行上述的成品版本的工作空间选择的系统11的例程)的易失性存储器。盘存储器95提供用于实现本发明实施例的计算机软件指令92和数据94的非易失性存储器。中央处理器单元84也与系统总线79相连并且提供计算机指令的执行。
在一个实施例中,处理器例程92和数据94为提供本发明系统的至少一部分软件指令的计算机程序产品(通常指92),其包括计算机可读介质(例如可移除存储介质,比如一个或多个DVD-ROM、CD-ROM、磁盘、磁带等)。计算机程序产品92可通过本领域公知的任何适合的软件安装程序被安装。在另一个实施例中,至少一部分软件指令也可通过电缆、通信和/或无线连接来下载。在其它实施例中,本发明的程序为体现为传播介质的传播信号(例如在诸如因特网或其它网络的全球网络上传播的无线波、红外波、激光波、声波或电波)的计算机程序传播信号产品107。这样的载波介质或信号提供本发明例程/程序92的至少一部分软件指令。
在可选实施例中,传播信号为传输介质上携带的模拟载波或数字信号。例如,传播信号可以是通过全球网络(例如因特网)、电信网或其它网络传播的数字信号。在一个实施例中,传播信号为通过传播介质在一段时间发送的信号,例如通过网络以毫秒、秒、分钟或更长时段分组发送的软件应用指令。在另一个实施例中,计算机程序产品92的计算机可读介质为例如通过接收传播介质并识别体现在传播介质上的传播信号计算机系统50可接收并读取的传播介质,如上面对计算机程序传播信号产品所描述的。
一般而言,术语“载波介质”或瞬时载波包括上述的瞬时信号、传播信号、传播介质、存储介质等。
本发明可采取完全为硬件的实施例、完全为软件的实施例或同时包含硬件和软件要素的实施例的形式。在优选的实施例中,以包含但不限固件、常驻软件、微代码等的软件实现本发明。
并且,本发明可采取可从提供程序代码的计算机可用或计算机可读介质访问的计算机程序产品的形式,该程序代码供计算机或任何指令执行系统使用或与其相关使用。为了说明的目的,计算机可用或计算可读介质可以是可包含、存储、传送、传播或传输供指令执行系统、装置或设备使用或与其相关使用的程序的任何装置。
介质可以是电子、磁、光、电磁、红外或半导体系统(或装置或器件)或传播媒介。计算机可读介质的例子包括:半导体或固态存储器、磁带、可移除计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘和光盘。光盘的当前的例子包含紧致盘-只读存储器(CD-ROM)、紧致盘-读/写(CD-R/W)和DVD。
适于存储和/或执行程序代码的数据处理系统将包括至少一个通过系统总线直接或间接与存储元件耦合的处理器。存储元件可包括在程序代码的实际执行中使用的局部存储器、大容量存储器、和为了减少在执行中必须从大容量存储器取回代码的次数提供至少一些程序代码的临时存储的高速缓冲存储器。
输入/输出或I/O设备(包含但不限于键盘、显示器、指示装置等)可直接或通过居间的I/O控制器与系统耦合。
网络适配器也可与系统耦合,以使得数据处理系统能够通过居间的专用或公用网络与其它数据处理系统或远程打印机或存储设备耦合。调制解调器、电缆调制解调器和以太网卡仅是一些当前可用的类型的网络适配器。
尽管参照本发明的优选实施例已详细地说明和描述了本发明,但本领域的技术人员应当理解,在不脱离后附权利要求所包含的本发明的范围的情况下可进行形式和细节的各种变化。
例如,图6和7的计算机体系结构和网络配置只是说明而不是限制。其它计算机体系结构和配置也是适合的。
此外,表示目标工作空间的变化组、基线(项目)和成品版本的成品历史示图28也可作为本领域公知的链接表、数据阵列、树结构、目标或其它编程结构被实现。

Claims (19)

1、一种选择软件程序成品版本的方法,包括计算机实现的以下步骤:
给定形成目标软件程序配置的一组成品,指示每一成品的基线版本,所述指示产生基线指示;
提供每一成品的各自变化组信息;
使用基线指示和变化组信息确定目标软件程序配置中成品的版本;并且
选择并且向用户显示确定的成品版本。
2、按照权利要求1所述的方法,其中,基线指示有效地用作项目起始点,并且每一变化组信息表示从该起始点的增量。
3、按照权利要求1所述的方法,其中,提供各变化组信息的步骤包括使用每一成品的相应成品历史示图,
其中对于给定的成品,相应成品历史示图包括给定成品的不同版本的指示和不同版本的相应的变化组。
4、按照权利要求1所述的方法,其中,确定步骤包括:
对于在成品的成品历史示图中指示的每一被接收的变化组,激活在示图中指示的相应版本;
其中激活的版本形成表示为一个版本和所述一个版本的所有先前版本的连续子示图,将所述一个版本限定为被确定的成品版本。
5、按照权利要求3所述的方法,其中,指示基线版本的步骤利用每一成品的相应成品历史示图。
6、按照权利要求1所述的方法,其中,确定步骤包括:
(i)如果仅存在一个基线并且该基线引用成品的某一版本,则所述确定包括激活所述某一版本和每一先前版本;
(ii)如果版本为所接收的变化组的产品,则所述确定包括激活该版本;以及
(iii)如果(i)和(ii)的任何一个版本被激活并且所有其先前版本被激活,则所述确定选择所述任何一个版本。
7、按照权利要求1所述的方法,还包括以下步骤:
给定同一项目历史的多个基线,确定所使用的一个基线;以及
所述的指示步骤基于确定的一个基线。
8、按照权利要求7所述的方法,其中,所述确定基线之一的步骤包括:
对于不具有任何接收的后续基线的每一接收的基线,激活接收的基线和其子基线的每一个;并且
对于不具有任何激活的后续基线的激活的基线,将激活的基线限定为确定的一个基线。
9、一种用于选择软件程序成品版本的计算机装置,包括:
用于在形成目标软件程序配置的给定的多个成品中指示每一成品的基线版本的装置;
用于提供每一成品的变化组信息的装置;和
使用指示的基线和变化组信息并确定目标软件程序配置中的成品版本的装置;以及
选择并且向用户显示确定的成品版本的装置。
10、按照权利要求9所述的计算机装置,其中,指示的基线版本有效地用作项目起始点,并且每一变化组信息表示从该起始点的增量。
11、按照权利要求9所述的计算机装置,其中,所述用于在形成目标软件程序配置的给定的多个成品中指示每一成品的基线版本的装置和所述使用指示的基线和变化组信息并确定目标软件程序配置中的成品版本的装置作为每一成品的相应成品历史示图被实现,其中对于给定的成品,所述相应成品历史示图包括给定成品的不同版本的指示和不同版本的相应的变化组。
12、按照权利要求11所述的计算机装置,其中,使用指示的基线和变化组信息并确定目标软件程序配置中的成品版本的装置被配置成:
对于在成品的成品历史示图中指示的每一接收的变化组,激活在示图中指示的相应版本;并且
其中激活的版本形成表示为一个版本和所述一个版本的所有先前版本的连续子示图,将所述一个版本限定为被确定的成品版本。
13、按照权利要求9所述的计算机装置,其中使用指示的基线和变化组信息并确定目标软件程序配置中的成品版本的装置是基于规则的。
14、按照权利要求13所述的计算机装置,其中,使用指示的基线和变化组信息并确定目标软件程序配置中的成品版本的装置被配置成:
(i)如果仅存在一种基线并且该基线引用成品的某一版本,则所述确定包括激活所述某一版本和每一先前版本;
(ii)如果版本为所接收的变化组的产品,则所述确定包括激活该版本;以及
(iii)如果(i)和(ii)的任何一个版本被激活并且所有其先前版本被激活,则所述确定选择所述任何一个版本。
15、按照权利要求9所述的计算机装置,其中,使用指示的基线和变化组信息并确定目标软件程序配置中的成品版本的装置被配置成:
从同一项目的多个给定基线中确定并选择一个基线;并且
对于多个给定基线的每一基线,提供基线版本的相应指示。
16、按照权利要求15所述的计算机装置,其中,使用指示的基线和变化组信息并确定目标软件程序配置中的成品版本的装置被配置成通过以下确定一个基线:
对于不具有任何接收的后续基线的每一接收的基线,激活接收的基线和其子基线的每一个;并且
对于不具有任何激活的后续基线的激活的基线,将激活的基线限定为确定的一个基线。
17、一种配置管理系统的成品版本选择器,包括:
成品历史装置,用于指示(a)形成目标软件程序配置的给定的多个成品中的每一成品的基线版本,和(b)每一成品的相应变化组信息,不同的变化组对应于成品的不同版本;
处理器装置,用于利用指示的基线版本和变化组信息确定目标软件程序配置中的成品版本,所述处理器装置使配置管理系统能够向用户显示确定的成品版本。
18、按照权利要求17所述的成品版本选择器,其中,处理器装置还:
对于由成品历史装置指示的每一接收的变化组,激活相应的版本;并且
其中激活的版本形成可表示为一个版本和所有其先前版本的一组版本,将所述一个版本限定为要被确定的版本。
19、按照权利要求17所述的成品版本选择器,其中,处理器装置是基于规则的。
CNB2006101446617A 2005-12-19 2006-11-14 在配置管理系统中基于活动版本选择的计算机方法和装置 Expired - Fee Related CN100456236C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/312,995 US8359571B2 (en) 2005-12-19 2005-12-19 Computer method and apparatus for activity-based version selection in a configuration management system
US11/312,995 2005-12-19

Publications (2)

Publication Number Publication Date
CN1987777A CN1987777A (zh) 2007-06-27
CN100456236C true CN100456236C (zh) 2009-01-28

Family

ID=38175275

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101446617A Expired - Fee Related CN100456236C (zh) 2005-12-19 2006-11-14 在配置管理系统中基于活动版本选择的计算机方法和装置

Country Status (2)

Country Link
US (1) US8359571B2 (zh)
CN (1) CN100456236C (zh)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9292276B1 (en) * 2004-07-19 2016-03-22 Micro Focus (IP) Development Limited Method and system for utilizing change packages
US7840955B1 (en) * 2005-12-30 2010-11-23 United Services Automobile Association (Usaa) Method and system for restoring software
EP1916596A1 (en) * 2006-10-26 2008-04-30 Hewlett-Packard Development Company, L.P. Improvements in or relating computer network management
US8464209B2 (en) * 2007-03-19 2013-06-11 Microsoft Corporation Using collaborative development information in a team environment
US8266122B1 (en) * 2007-12-19 2012-09-11 Amazon Technologies, Inc. System and method for versioning data in a distributed data store
US9454361B2 (en) * 2009-07-15 2016-09-27 Avaya Inc. System and method of merging of objects from different replicas
US8903785B2 (en) 2010-09-13 2014-12-02 International Business Machines Corporation Baselines over indexed, versioned data
US8438532B2 (en) 2011-04-19 2013-05-07 Sonatype, Inc. Method and system for scoring a software artifact for a user
US9021471B2 (en) 2011-05-03 2015-04-28 International Business Machines Corporation Managing change-set delivery
US8612936B2 (en) 2011-06-02 2013-12-17 Sonatype, Inc. System and method for recommending software artifacts
US8627270B2 (en) 2011-09-13 2014-01-07 Sonatype, Inc. Method and system for monitoring a software artifact
US8473894B2 (en) * 2011-09-13 2013-06-25 Sonatype, Inc. Method and system for monitoring metadata related to software artifacts
US9141378B2 (en) 2011-09-15 2015-09-22 Sonatype, Inc. Method and system for evaluating a software artifact based on issue tracking and source control information
JP5967603B2 (ja) * 2011-12-21 2016-08-10 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 複数の変更履歴データのうちからソースコード中の変更内容を探索するための方法、並びに、そのコンピュータ及びコンピュータ・プログラム
US8656343B2 (en) 2012-02-09 2014-02-18 Sonatype, Inc. System and method of providing real-time updates related to in-use artifacts in a software development environment
US8825689B2 (en) 2012-05-21 2014-09-02 Sonatype, Inc. Method and system for matching unknown software component to known software component
US8954928B2 (en) * 2012-05-31 2015-02-10 International Business Machines Corporation Version labeling in a version control system
US9141408B2 (en) 2012-07-20 2015-09-22 Sonatype, Inc. Method and system for correcting portion of software application
GB2506904A (en) 2012-10-12 2014-04-16 Ibm Managing a cache for storing one or more intermediate products of a computer program
US9135263B2 (en) 2013-01-18 2015-09-15 Sonatype, Inc. Method and system that routes requests for electronic files
US9348582B2 (en) * 2014-02-13 2016-05-24 Linkedin Corporation Systems and methods for software dependency management
CN104598219A (zh) * 2014-12-04 2015-05-06 东北大学 基于变化的服务演化一致性判定方法及系统
US20170083842A1 (en) * 2015-09-21 2017-03-23 International Business Machines Corporation Risk evaluation in parallelizing projects
US9772842B2 (en) * 2016-01-25 2017-09-26 International Business Machines Corporation Managing change sets
US9720688B1 (en) * 2016-01-25 2017-08-01 International Business Machines Corporation Extensible change set conflict and merge gap detection
US10528741B1 (en) * 2016-07-13 2020-01-07 VCE IP Holding Company LLC Computer implemented systems and methods for assessing operational risks and mitigating operational risks associated with using a third party software component in a software application
US9971594B2 (en) 2016-08-16 2018-05-15 Sonatype, Inc. Method and system for authoritative name analysis of true origin of a file
CN106708984A (zh) * 2016-12-09 2017-05-24 国网北京市电力公司 采集电缆通道的基础数据的方法、装置和系统
CN108268275B (zh) * 2017-06-12 2021-05-04 平安普惠企业管理有限公司 软件版本控制方法及软件版本控制设备
US11609758B2 (en) 2019-12-31 2023-03-21 Shenzhen Jingtai Technology Co., Ltd. Drug research and development software repository and software package management system
CN112015463B (zh) * 2020-08-24 2023-08-18 中国银行股份有限公司 一种配置版本管理装置及其工作方法
CN115905266A (zh) * 2022-12-29 2023-04-04 支付宝(杭州)信息技术有限公司 图结构数据的处理方法和用于图结构数据的存储引擎

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5278979A (en) * 1990-12-20 1994-01-11 International Business Machines Corp. Version management system using pointers shared by a plurality of versions for indicating active lines of a version
CN1326155A (zh) * 2000-05-25 2001-12-12 英业达股份有限公司 即时生成文件版本的方法
US6385768B1 (en) * 1999-09-30 2002-05-07 Unisys Corp. System and method for incorporating changes as a part of a software release
CN1639722A (zh) * 2002-04-26 2005-07-13 甲骨文国际公司 项目管理系统

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4853843A (en) * 1987-12-18 1989-08-01 Tektronix, Inc. System for merging virtual partitions of a distributed database
US5649200A (en) 1993-01-08 1997-07-15 Atria Software, Inc. Dynamic rule-based version control system
US5574898A (en) * 1993-01-08 1996-11-12 Atria Software, Inc. Dynamic software version auditor which monitors a process to provide a list of objects that are accessed
US5701472A (en) * 1995-06-09 1997-12-23 Unisys Corporation Method for locating a versioned object within a version tree depicting a history of system data and processes for an enterprise
US7987427B1 (en) 1996-05-10 2011-07-26 Apple Inc. Graphical editor for program files
US6112024A (en) 1996-10-02 2000-08-29 Sybase, Inc. Development system providing methods for managing different versions of objects with a meta model
US5898872A (en) 1997-09-19 1999-04-27 Tominy, Inc. Software reconfiguration engine
US6442754B1 (en) 1999-03-29 2002-08-27 International Business Machines Corporation System, method, and program for checking dependencies of installed software components during installation or uninstallation of software
US6536037B1 (en) 1999-05-27 2003-03-18 Accenture Llp Identification of redundancies and omissions among components of a web based architecture
US6701514B1 (en) 2000-03-27 2004-03-02 Accenture Llp System, method, and article of manufacture for test maintenance in an automated scripting framework
US6698013B1 (en) 2000-10-04 2004-02-24 Mintaka Technology Group Real time monitoring system for tracking and documenting changes made by programmer's during maintenance or development of computer readable code on a line by line basis and/or by point of focus
US20060010425A1 (en) 2001-10-29 2006-01-12 Willadsen Gloria J Methods and apparatus for automated mangement of software
US7069547B2 (en) 2001-10-30 2006-06-27 International Business Machines Corporation Method, system, and program for utilizing impact analysis metadata of program statements in a development environment
US7133874B2 (en) 2001-12-13 2006-11-07 Microsoft Corporation Prototyping model for components of a software program
US20030121024A1 (en) 2001-12-13 2003-06-26 Microsoft Corporation System and method for building a runtime image from components of a software program
US6934716B2 (en) 2002-03-15 2005-08-23 Ge Mortgage Holdings, Llc Methods and apparatus for management of work objects
US7191435B2 (en) 2002-06-07 2007-03-13 Sun Microsystems, Inc. Method and system for optimizing software upgrades
US7480893B2 (en) 2002-10-04 2009-01-20 Siemens Corporate Research, Inc. Rule-based system and method for checking compliance of architectural analysis and design models
US20040268302A1 (en) 2003-06-26 2004-12-30 Microsoft Corporation Framework for determining and exposing binary dependencies
US7409676B2 (en) 2003-10-20 2008-08-05 International Business Machines Corporation Systems, methods and computer programs for determining dependencies between logical components in a data processing system or network
EP1680741B1 (en) 2003-11-04 2012-09-05 Kimberly-Clark Worldwide, Inc. Testing tool for complex component based software systems
US7895592B2 (en) 2004-11-30 2011-02-22 Oracle International Corporation Patch impact analyzer
US7735062B2 (en) * 2005-01-21 2010-06-08 Outsystems—Software Em Rede, S.A. Software development system and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5278979A (en) * 1990-12-20 1994-01-11 International Business Machines Corp. Version management system using pointers shared by a plurality of versions for indicating active lines of a version
US6385768B1 (en) * 1999-09-30 2002-05-07 Unisys Corp. System and method for incorporating changes as a part of a software release
CN1326155A (zh) * 2000-05-25 2001-12-12 英业达股份有限公司 即时生成文件版本的方法
CN1639722A (zh) * 2002-04-26 2005-07-13 甲骨文国际公司 项目管理系统

Also Published As

Publication number Publication date
US8359571B2 (en) 2013-01-22
CN1987777A (zh) 2007-06-27
US20070143752A1 (en) 2007-06-21

Similar Documents

Publication Publication Date Title
CN100456236C (zh) 在配置管理系统中基于活动版本选择的计算机方法和装置
CN108959621A (zh) 一种区块链网络的实现方法、装置、设备及存储介质
CN100461131C (zh) 软件跟踪能力管理方法和装置
CN101231587B (zh) 用于软件配置管理库互操作的计算机方法和设备
CN109144696A (zh) 一种任务调度方法、装置、电子设备及存储介质
KR102090025B1 (ko) 이종의 블록체인 플랫폼 간의 연동이 가능한 블록체인 네트워크 시스템 및 이를 이용한 블록체인 생성방법
CN103886402A (zh) 用于众包系统中的自动激励计算的方法和系统
CN111083013B (zh) 基于流量回放的测试方法、装置、电子设备及存储介质
CN104471596A (zh) 计算机、指南信息提供方法以及记录介质
CN105339893A (zh) 具有集成测试支持的应用商店
CN104615486B (zh) 用于搜索推广平台的多任务调度和执行方法、装置和系统
CN106302122A (zh) 虚拟物品管理方法及装置
US20110252382A1 (en) Process performance using a people cloud
Kessentini et al. Automated metamodel/model co-evolution using a multi-objective optimization approach
CN103140850A (zh) 移动设备上的数据共享
CN112702225A (zh) 云平台性能测试装置、方法、计算机终端和可读存储介质
Mika et al. A metaheuristic approach to scheduling workflow jobs on a grid
CN106920057A (zh) 物料管理方法及系统
CN111461666A (zh) 需求跟踪矩阵显示方法及系统
Subbu et al. Network-based distributed planning using coevolutionary agents: architecture and evaluation
CN108470072A (zh) 一种查询编译方法和装置
CN113377654A (zh) 软件产品的并发测试系统、方法及装置
CN102105842A (zh) 将业务规则与工程应用相集成的系统和方法
CN113657922A (zh) 方案规划方法、规划装置、终端设备及可读存储介质
CN116523471B (zh) 信息生成方法、装置、电子设备和计算机可读介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090128

Termination date: 20181114