專利名稱:合并軟件配置的計(jì)算機(jī)方法和裝置的制作方法
合并軟件配置的計(jì)算機(jī)方法和裝置
背景技術(shù):
軟件工件是軟件系統(tǒng)的一方面的持久表示。軟件工件的一般示例 是包含軟件系統(tǒng)的源代碼的文件和目錄,但是工件的其它示例包括需 求、終端用戶文檔、系統(tǒng)模型和系統(tǒng)測(cè)試。軟件工件的重要狀態(tài)被保 存為該工件的版本,并且給定工件的版本的集合定義了該工件的歷 史。
軟件配置是一組軟件工件版本,其中僅有給定工件的一個(gè)版本被 給定軟件配置選擇。軟件變更集識(shí)別對(duì)配置的邏輯變更,并包括對(duì)一 個(gè)或多個(gè)工件的一個(gè)或多個(gè)變更的集合。軟件配置的可選擇特性是其 包括導(dǎo)致該配置的變更集的集合。合并兩個(gè)軟件配置的結(jié)果在邏輯上 是相應(yīng)兩個(gè)變更集的集合的統(tǒng)一。
邏輯變更集可跨越配置內(nèi)的多個(gè)工件,但是合并工具每次在一個(gè) 工件上操作。當(dāng)在配置合并期間合并單個(gè)工件時(shí),用戶接受或拒絕作 為特定變更集的一部分的變更。但是,當(dāng)用戶隨后在包含作為該相同 變更集的一部分的另外的變更的該配置內(nèi)合并另一個(gè)工件時(shí),用戶無(wú) 法得知他以前是如何處理該變更集的。結(jié)果,他在遇到邏輯相關(guān)的變 更時(shí)必須注意,并然后或者必須記得他以前是接受還是拒絕該變更, 或者必須正確地重建使其接受或拒絕該變更的邏輯。由于用戶常常會(huì) 在單個(gè)工件內(nèi)遇到多個(gè)邏輯變更,并且由于合并決定常常非常復(fù)雜并 且需要數(shù)小時(shí)(有時(shí)會(huì)數(shù)天)來(lái)解決,所以在隨后的工件內(nèi)識(shí)別邏輯 相關(guān)的合并決定是非常困難的,并且記住或再現(xiàn)導(dǎo)致特定合并決定的 邏輯也是非常困難的。
一些領(lǐng)域?qū)S玫暮喜⒐ぞ?例如用于專用語(yǔ)言的工具)被設(shè)計(jì)成 同時(shí)在來(lái)自該領(lǐng)域的多個(gè)工件上操作。但是,這些合并工具不能處理 來(lái)自其它領(lǐng)域的工件,因此當(dāng)邏輯變更導(dǎo)致多個(gè)領(lǐng)域出現(xiàn)變更時(shí)會(huì)出
現(xiàn)相同的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明解決了現(xiàn)有技術(shù)的缺陷。具體地,本發(fā)明提供了一種計(jì)算 機(jī)方法和系統(tǒng),其中對(duì)軟件工件的變更在工作空間的情境中進(jìn)行,并 且該工作空間識(shí)別可識(shí)別當(dāng)前對(duì)該工作空間的軟件配置執(zhí)行的邏輯 變更的變更集。當(dāng)新版本被創(chuàng)建時(shí),版本創(chuàng)建工具在新版本中記錄新 版本的哪些部分已被修改,并使這些變更與工作空間的當(dāng)前變更集相 關(guān)聯(lián)。增強(qiáng)合并工具以接受被接受和拒絕的變更集的列表作為輸入, 并返回在合并工具的操作期間已經(jīng)被接受和拒絕的另外的變更集作 為輸出。當(dāng)在工作空間內(nèi)調(diào)用涉及多個(gè)工件的合并時(shí),工作空間累積 在每個(gè)工件各自的合并中已經(jīng)被接受和拒絕的變更集的列表,并當(dāng)合 并工具在下一個(gè)工件上被調(diào)用時(shí)將這些列表的當(dāng)前值傳遞給合并工 具。然后在目標(biāo)配置內(nèi)的所有先前的合并決定的情境中進(jìn)行各個(gè)工件 合并。
在優(yōu)選實(shí)施例中,用于合并軟件配置的計(jì)算機(jī)裝置和方法包括 提供其中對(duì)目標(biāo)軟件配置執(zhí)行操作的工作環(huán)境的工作空間;以及 被耦合以在該工作空間內(nèi)執(zhí)行軟件配置合并的合并工具。 該工作空間識(shí)別當(dāng)前對(duì)目標(biāo)軟件配置進(jìn)行的變更的變更集。優(yōu)選 地,該工作空間累積在形成目標(biāo)軟件配置的每個(gè)工件的合并內(nèi)的變更 集,并將所述被累積的變更集傳遞給合并工具。合并工具繼而顯示或 向用戶輸出被累積的變更集的指示,以便用戶可在基本上所有先前的 合并決定的情境中進(jìn)行工件合并。
因此,本發(fā)明提供了一種將多個(gè)工件并入另一個(gè)工件和/或并入 目標(biāo)軟件配置的機(jī)構(gòu)。
前文在下文對(duì)如附圖中所示的本發(fā)明的示例性實(shí)施例的更具體 說(shuō)明中是顯而易見(jiàn)的,在附圖中相似的標(biāo)號(hào)指示不同視圖中的相同部
分。附圖并不必須是成比例的,其重點(diǎn)放在示出本發(fā)明的實(shí)施例上。 圖l是本發(fā)明的一個(gè)實(shí)施例的示意圖。
圖2是圖1的實(shí)施例內(nèi)的合并構(gòu)件的流程圖3是本發(fā)明的實(shí)施例可用于其中的計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境的示意圖。
圖4是圖3的計(jì)算機(jī)節(jié)點(diǎn)的框圖。
具體實(shí)施例方式
本發(fā)明的示例性實(shí)施例的說(shuō)明如下。
圖1示出具體表現(xiàn)本發(fā)明的配置管理系統(tǒng)11。配置管理系統(tǒng)11 提供了目標(biāo)軟件程序13和關(guān)于該目標(biāo)軟件程序的多種信息的工作空 間視圖。軟件程序13由一個(gè)或多個(gè)工件15、 19、 21形成。每個(gè)工件 15、 19、 21具有各自的版本,例如V.la, V.3, V.lb等。目標(biāo)軟件程 序13的每個(gè)配置22使用工件15、 19、 21各自的版本。圖1內(nèi)的目 標(biāo)軟件程序13的所示配置22之一由工件15的版本V.la、工件19的 版本V.3和工件21的版本V.lb形成。目標(biāo)軟件程序13的其它配置 22^f吏用工件15、 19、 21的其它版本。
關(guān)于工件15、 19、 21的版本的信息被存儲(chǔ)在工件15、 19、 21 各自的版本歷史表內(nèi)。具體地,變更集信息(版本屬于其的變更集33) 被記錄在相應(yīng)的工件版本歷史表17內(nèi)。圖1示出具有用于工件15的 版本歷史表項(xiàng)目17a、用于工件19的版本歷史表項(xiàng)目17b和用于工件 21的版本歷史表項(xiàng)目17n的目標(biāo)軟件程序13的一個(gè)配置22。應(yīng)理解, 配置管理系統(tǒng)11存儲(chǔ)程序13的每個(gè)配置22的前述信息。
配置管理系統(tǒng)ll使用戶能夠生成并對(duì)目標(biāo)軟件程序13的這種不 同的配置22起作用(編輯,測(cè)試,重新設(shè)計(jì)等)。如前文提到的, 每個(gè)工件15、 19、 21是用戶所做的工作的持久性結(jié)果,其通常被持 續(xù)存留在文件系統(tǒng)例如模型和源代碼內(nèi)。使用"活動(dòng)"來(lái)跟蹤用戶所做 的工作的結(jié)果?;顒?dòng)的"變更集"33是實(shí)踐者為了執(zhí)行此活動(dòng)對(duì)工件 15、 19、 21進(jìn)行的變更的集合。"工作空間"23用于定義用戶的工作 環(huán)境,其包含用戶所需的工件15、 19、 21以及跟蹤執(zhí)行這些活動(dòng)的
結(jié)果的活動(dòng)。工作空間23被說(shuō)成"接受"定義當(dāng)前的或工作的配置22, 的活動(dòng)變更集。
再次聲明,對(duì)軟件工件15、 19、 21的所有變更都是在工作空間 23的情境中進(jìn)行的。工作空間23識(shí)別指示或提供目前針對(duì)工作空間 的配置22,執(zhí)行的邏輯變更的變更集。當(dāng)工件的新版本被創(chuàng)建時(shí),版 本創(chuàng)建工具(未示出)將新工件版本記錄在相應(yīng)的工件日志17內(nèi)。 版本創(chuàng)建工具還使這些變更與工作空間23的當(dāng)前的變更集33,相關(guān) 聯(lián)。合并工具25接受被接受和拒絕的變更集作為輸入,并返回在合 并工具25在工作空間23內(nèi)的工作配置22,上進(jìn)行操作辨間已經(jīng)被接 受和拒絕的另外的變更集作為輸出。當(dāng)在工作空間23內(nèi)調(diào)用涉及多 個(gè)工件15'、 19,的合并時(shí),工作空間累積在多個(gè)工件15,、 19,的每一 個(gè)的合并中已經(jīng)被接受和拒絕的變更集的列表34,并當(dāng)合并工具25 在下一個(gè)工件上被調(diào)用時(shí)將列表的當(dāng)前值傳遞給合并工具25。然后在 所有先前的合并決定的情境中進(jìn)行各個(gè)工件合并,并且軟件配置22, 與跨越多個(gè)工件15,、 19,的變更集的合并可被順利地完成。
在優(yōu)選實(shí)施例中,當(dāng)合并工具25處理要求合并的工作配置22, 中的第一工件15,時(shí),合并工具25被從工件版本日志17供給(作為 輸入接收)將合并的版本以及那些版本的共同祖先。合并工具25使 用這些版本內(nèi)記錄的變更集信息33來(lái)識(shí)別哪個(gè)變更屬于哪個(gè)變更集 33,并以接受或拒絕特定變更集33的形式將合并決定暴露給終端用 戶,合并工具25然后想起用戶是接受還是拒絕屬于給定變更集33的 該組變更,從而當(dāng)合并工具25將控制返回工作空間23時(shí),工作空間 可被被接受和拒絕的變更集34注釋。
當(dāng)在工作空間23內(nèi)調(diào)用隨后的另一個(gè)工件19,的合并時(shí),工作空 間23內(nèi)的所有先前合并的工件的被接受和拒絕的變更集的列表34作 為變量被傳遞給合并工具25。合并工具使用此信息來(lái)鼓勵(lì)用戶關(guān)于接 受或拒絕給定變更集34做出一致的決定(即,如果變更是在先前的 合并中已經(jīng)被接受的合并集的一部分則接受該變更,并且如該變更在 先前的合并內(nèi)已經(jīng)被拒絕則拒絕該變更)。
如果系統(tǒng)11支持變更集進(jìn)化,則用戶被允許關(guān)于接受或拒絕來(lái) 自不同工件的變更做出不一致的決定(即,拒絕作為在另一個(gè)工件的
合并內(nèi)被接受的變更集的一部分的變更,或者接受作為在另一個(gè)工件 的合并內(nèi)被拒絕的變更集的一部分的變更)。當(dāng)用戶提交包含不一致
的合并決定的一組被檢驗(yàn)的工件15,、 19,時(shí),通過(guò)將被不一致地接受 的變更集33分成兩個(gè)變更集33m、 33n (—個(gè)包含被接受的變更,而 另一個(gè)包含被拒絕的變更)來(lái)解決任何不一致性。
一些版本系統(tǒng)允許用戶持續(xù)具有未完全合并的工件15、 19、 21, 即包含這樣的合并決定的工件,執(zhí)行合并的用戶希望推遲該合并決定 直到他們看到該合并決定影響的在其它工件的情境中的變更集33。在 此情況下,除了被接收和拒絕的變更集之外,合并工具25還返回被 推遲的變更集的列表35。當(dāng)合并工具25隨后在另 一個(gè)工件上被調(diào)用, 并返回被標(biāo)記為接受或拒絕的變更集33,時(shí),如果存在已經(jīng)推遲該變 更集的先前被合并的工件(即,未完全合并的工件),則用戶有機(jī)會(huì) 在先前未完全合并的工件上再次調(diào)用合并工具25,從而該變更集可在 該先前被合并(未完全合并)的工件中被合適地接受或拒絕。當(dāng)用戶 試圖登記包含被推遲的變更集35的合并工件(即,未完全合并的工 件)時(shí),本發(fā)明的系統(tǒng)11向用戶發(fā)出關(guān)于該被推遲的合并的警告, 并給用戶機(jī)會(huì)再次調(diào)用合并工具25以完成該合并。
圖2給出了合并工具/部件25和工作空間23的操作的流程圖。 作為第一步驟39,本發(fā)明的系統(tǒng)ll初始化工作空間23,包括初始化 被接受/拒絕變更集的列表34、被推遲變更集的列表35以及當(dāng)前工作 會(huì)話的其它支持?jǐn)?shù)據(jù)元。接下來(lái)在41,在創(chuàng)建工件的新版本時(shí),系統(tǒng) 11將變更記錄在相應(yīng)的版本歷史日志17內(nèi)。系統(tǒng)11還使被記錄的變 更與工作空間23內(nèi)的當(dāng)前工作的變更集33,相關(guān)聯(lián)。當(dāng)為工作配置22, 內(nèi)的目標(biāo)工件調(diào)用合并工具25時(shí),步驟43向合并工具25提供輸入。 該輸入包括被考慮的變更集33、先前被接受和拒絕的變更集的列表 34和先前被推遲的變更集的列表35。響應(yīng)于對(duì)該目標(biāo)工件的用戶決 定(接受/拒絕變更集33內(nèi)的變更),合并工具25接收并將此變更集
的接受/拒絕記錄在變更集列表34內(nèi)。
在步驟47,工作空間23累積在多個(gè)目標(biāo)工件15,、 19,中的每一 個(gè)的合并內(nèi)已經(jīng)被接受和拒絕的變更集的列表33、 33,。類似地,在 步驟49,工作空間23累積被推遲的變更集35。
在隨后的另一個(gè)工件并入工作軟件配置22,期間,經(jīng)由循環(huán)46 再次調(diào)用步驟45。如果工作配置22,的先前未完全合并的工件具有被 推遲的變更集33,則然后在步驟57,工作空間23使終端用戶能夠在 該工件上再次調(diào)用合并工具25。循環(huán)48返回步驟45類似地能夠才艮據(jù) 需要/要求將另一個(gè)工件并入工作軟件配置22,。
圖3示出本發(fā)明可在其中實(shí)現(xiàn)的計(jì)算機(jī)網(wǎng)絡(luò)或類似的數(shù)字處理環(huán)境。
客戶計(jì)算機(jī)/設(shè)備50和服務(wù)器計(jì)算機(jī)60提供了執(zhí)行應(yīng)用程序等 的處理、存儲(chǔ)和輸入/輸出設(shè)備??蛻粲?jì)算機(jī)/設(shè)備50還可通過(guò)通信網(wǎng) 絡(luò)70鏈接到其它計(jì)算設(shè)備,包括其它客戶設(shè)備/處理器50和服務(wù)器計(jì) 算機(jī)60 。通信網(wǎng)絡(luò)70可以是遠(yuǎn)程訪問(wèn)網(wǎng)絡(luò)、全球網(wǎng)絡(luò)(例如因特網(wǎng))、 計(jì)算機(jī)的全球集合、局域網(wǎng)或廣域網(wǎng)和當(dāng)前使用相應(yīng)的協(xié)議(TCP/IP、 藍(lán)牙等)進(jìn)行相互通信的網(wǎng)關(guān)的一部分。其它電子設(shè)備/計(jì)算機(jī)網(wǎng)絡(luò)結(jié) 構(gòu)也是適合的。
圖4是圖3的計(jì)算機(jī)系統(tǒng)內(nèi)的計(jì)算機(jī)(例如,客戶處理器/設(shè)備 50或服務(wù)器計(jì)算機(jī)60)的內(nèi)部結(jié)構(gòu)的視圖。每個(gè)計(jì)算機(jī)50包括系統(tǒng) 總線79,其中總線是一組用于計(jì)算機(jī)或處理系統(tǒng)的組件之間的數(shù)據(jù)傳 送的硬件線路??偩€79本質(zhì)上是連接計(jì)算機(jī)系統(tǒng)的不同元件(例如 處理器、磁盤存儲(chǔ)器、存儲(chǔ)器、輸入/輸出端口、網(wǎng)絡(luò)端口等)的使得 能夠在元件之間進(jìn)行信息傳送的共享管道。用于使各種輸入和輸出設(shè) 備(例如鍵盤、鼠標(biāo)、顯示器、打印機(jī)、揚(yáng)聲器等)連接到計(jì)算機(jī)50、 60的I/O設(shè)備接口 82連接到總線79上。網(wǎng)絡(luò)接口 86允許計(jì)算機(jī)連 接到連接在網(wǎng)絡(luò)(例如圖3的網(wǎng)絡(luò)70)上的各種其它的設(shè)備。存儲(chǔ)器 90為用于實(shí)現(xiàn)本發(fā)明的實(shí)施例(例如,上述工件例如日志/表格17、 合并工具/部件25、工作空間23、工作變更集33,、被接受/拒絕的變
更集的列表34和被推遲的變更集35)的計(jì)算機(jī)軟件指令92和數(shù)據(jù) 94提供易失性存儲(chǔ)器。盤存儲(chǔ)器95為用于實(shí)現(xiàn)本發(fā)明的實(shí)施例的計(jì) 算機(jī)軟件指令92和數(shù)據(jù)94提供非易失性存儲(chǔ)器。中央處理單元84 也連接在系統(tǒng)總線79上并用于計(jì)算機(jī)指令的執(zhí)行。
在一個(gè)實(shí)施例中,處理器例程92和數(shù)據(jù)94將軟件指令的至少一 部分提供給本發(fā)明的系統(tǒng)的計(jì)算機(jī)程序產(chǎn)品(被總稱為92),包括計(jì) 算機(jī)可讀介質(zhì)(例如,可取出的存儲(chǔ)介質(zhì)例如DVD-ROM、 CD-ROM、 盤、磁帶等中的一個(gè)或多個(gè))。計(jì)算機(jī)程序產(chǎn)品92可使用本領(lǐng)域內(nèi) 公知的任何合適的軟件安裝過(guò)程安裝。在另一個(gè)實(shí)施例中,軟件指令 的至少一部分還可通過(guò)電纜通信和/或無(wú)線連接被下載。在其它實(shí)施例 中,本發(fā)明的程序是被包含在傳播介質(zhì)(例如,無(wú)線電波、紅外波、 激光波、聲波或在全球網(wǎng)例如因特網(wǎng)或其它網(wǎng)絡(luò)上傳播的電波)上的 被傳播信號(hào)中的計(jì)算機(jī)程序傳播信號(hào)產(chǎn)品107。這種栽體介質(zhì)或信號(hào) 將軟件指令的至少一部分提供給本發(fā)明的例程/程序92。
在可選擇實(shí)施例中,被傳播信號(hào)是傳播介質(zhì)上攜帶的模擬載波或 數(shù)字信號(hào)。例如,被傳播信號(hào)可以是在全球網(wǎng)(例如因特網(wǎng))、電信 網(wǎng)絡(luò)或其它網(wǎng)絡(luò)上傳播的數(shù)字化信號(hào)。在一個(gè)實(shí)施例中,被傳播信號(hào) 是在一段時(shí)間內(nèi)在傳播介質(zhì)上傳送的信號(hào),例如在數(shù)毫秒、秒、分鐘 或更長(zhǎng)的一段時(shí)間內(nèi)在網(wǎng)絡(luò)上被以包的形式發(fā)送的用于軟件應(yīng)用的 指令。在另一個(gè)實(shí)施例中,計(jì)算機(jī)程序產(chǎn)品92的計(jì)算機(jī)可讀介質(zhì)是 計(jì)算機(jī)系統(tǒng)50可接收和閱讀的傳播介質(zhì),這例如可通過(guò)接收傳播介 質(zhì)并識(shí)別該傳播介質(zhì)內(nèi)包含的如上所述用于計(jì)算機(jī)程序傳播信號(hào)產(chǎn) 品的被傳播信號(hào)進(jìn)行。
總的來(lái)說(shuō),術(shù)語(yǔ)"載體介質(zhì)"或臨時(shí)載體包括前述瞬態(tài)信號(hào)、被傳 播信號(hào)、被傳播介質(zhì)、存儲(chǔ)介質(zhì)等等。
本發(fā)明可表現(xiàn)為全部是硬件的實(shí)施例的形式,全部是軟件的實(shí)施 例的形式,或者包含硬件和軟件元件的實(shí)施例的形式。在優(yōu)選實(shí)施例 中,本發(fā)明用包括但不局限于固件、駐留軟件、微碼等的軟件實(shí)現(xiàn)。
此外,本發(fā)明可表現(xiàn)為可從計(jì)算機(jī)可使用或計(jì)算機(jī)可讀的介質(zhì)得
到的計(jì)算機(jī)程序產(chǎn)品的形式,該介質(zhì)提供被計(jì)算機(jī)或任何指令執(zhí)行系 統(tǒng)使用或與其有關(guān)的程序代碼。對(duì)于此說(shuō)明而言,計(jì)算機(jī)可使用或計(jì) 算機(jī)可讀介質(zhì)可以是容納、存儲(chǔ)、通信、傳播或傳輸由指令執(zhí)行系統(tǒng)、 裝置或設(shè)備使用或結(jié)合其使用的程序的任何裝置。
介質(zhì)可以是電子、磁、光、電磁、紅外線或半導(dǎo)體系統(tǒng)(或裝置 或設(shè)備)或傳播介質(zhì)。計(jì)算機(jī)可讀介質(zhì)的示例包括半導(dǎo)體或固態(tài)存儲(chǔ)
器、磁帶、可取出的計(jì)算機(jī)磁盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存 儲(chǔ)器(ROM)、剛性磁盤和光盤。光盤的當(dāng)前的示例包括光盤-只讀 存儲(chǔ)器(ROM)、光盤-讀/寫(xiě)(CD-R/W)和DVD。
適于存儲(chǔ)和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)將包括通過(guò)系統(tǒng)總 線直接或間接耦合到存儲(chǔ)元件的至少 一個(gè)存儲(chǔ)器。存儲(chǔ)元件可包括在 程序代碼的實(shí)際執(zhí)行期間使用的局部存儲(chǔ)器、大容量存儲(chǔ)器和高速緩 沖存儲(chǔ)器,該高速緩沖存儲(chǔ)器臨時(shí)存儲(chǔ)至少一些程序代碼以便減少在 執(zhí)行期間必須從大容量存儲(chǔ)器檢索代碼的次數(shù)。
輸入/輸出或.1/0設(shè)備(包括但不局限于鍵盤、顯示器、打印設(shè) 備等)可直接或通過(guò)介于中間的I/O控制器耦合到系統(tǒng)。
網(wǎng)絡(luò)適配器也可耦合到系統(tǒng)以使數(shù)據(jù)處理系統(tǒng)能夠通過(guò)介于中
設(shè)備。調(diào)制;調(diào)器、線纜調(diào)制解調(diào)器和以太網(wǎng)卡一僅是一些目前;用的 網(wǎng)絡(luò)適配器。
盡管已經(jīng)參照本發(fā)明的示桐性實(shí)施例具體示出并說(shuō)明了本發(fā)明, 但是本領(lǐng)域的技術(shù)人員應(yīng)理解,可在形式和細(xì)節(jié)方面進(jìn)行多種改變而 不會(huì)背離所附權(quán)利要求包含的本發(fā)明的范圍。
權(quán)利要求
1.用于合并軟件配置的計(jì)算機(jī)裝置,每個(gè)軟件配置由軟件程序工件的各個(gè)版本形成,該裝置包括提供其中對(duì)目標(biāo)軟件配置執(zhí)行操作的工作環(huán)境的工作空間,該工作空間識(shí)別當(dāng)前對(duì)該目標(biāo)軟件配置進(jìn)行的變更的變更集;以及被耦合以在該工作空間內(nèi)執(zhí)行軟件配置合并的合并工具,該工作空間累積形成該目標(biāo)軟件配置的每個(gè)工件的合并內(nèi)的變更集,并將所述被累積的變更集傳遞給合并工具,從而工件合并在基本上所有先前的合并決定的情境中進(jìn)行。
2. 根據(jù)權(quán)利要求1的計(jì)算機(jī)裝置,其中所述工作空間累積變更 集的列表。
3. 根據(jù)權(quán)利要求2的計(jì)算機(jī)裝置,其中當(dāng)在工作空間內(nèi)調(diào)用的 合并涉及多個(gè)工件時(shí),該工作空間累積在所述多個(gè)工件的每一個(gè)的合 并內(nèi)已被用戶接受和拒絕的變更集的列表;并且該工作空間將被累積的列表傳遞給合并工具以便合并所述多個(gè) 工件中的下一個(gè)工件。
4. 根據(jù)權(quán)利要求1的計(jì)算機(jī)裝置,其中所述合并工具接受被接 受和拒絕的變更集的列表作為輸入,并返回在該合并工具的操作期間 已被用戶接受或拒絕的另外的變更集的指示作為輸出。
5. 根據(jù)權(quán)利要求4的計(jì)算機(jī)裝置,其中所述工作空間還包括識(shí) 別被推遲的變更集,并且當(dāng)所述合并工具提供另外的變更集的指示時(shí),如果先前未完全合 并的工件已經(jīng)推遲所述另外的變更集中的一個(gè)變更,則工作空間使用 戶能夠在先前未完全合并的工件上再次調(diào)用該合并工具。
6. —種用于合并軟件配置的計(jì)算機(jī)方法,該方法包括以下由計(jì) 算機(jī)實(shí)現(xiàn)的步驟提供定義了其中對(duì)目標(biāo)軟件配置執(zhí)行操作的工作環(huán)境的工作空 間,所述提供工作空間的步驟包括識(shí)別當(dāng)前對(duì)該目標(biāo)軟件配置進(jìn)行的 變更的變更集;以及累積形成該目標(biāo)軟件配置的每個(gè)工件的合并內(nèi)的變更集并在隨 后的目標(biāo)軟件配置的合并中使用所述被累積的變更集,從而工件合并 在目標(biāo)軟件配置內(nèi)在基本上所有先前的合并決定的情境中進(jìn)行。
7. 根據(jù)權(quán)利要求6的方法,其中該方法還包括提供被耦合以在 所述工作空間內(nèi)執(zhí)行軟件配置合并的合并工具的步驟。
8. 根據(jù)權(quán)利要求7的方法,其中所述累積的步驟包括所述工作 空間累積在形成所述目標(biāo)軟件配置的每個(gè)工件的合并內(nèi)的變更集的 列表,并將所述被累積的列表傳遞給所述合并工具。
9. 根據(jù)權(quán)利要求8的方法,其中當(dāng)在工作空間內(nèi)調(diào)用的合并涉 及多個(gè)工件時(shí),該工作空間累積在所述多個(gè)工件的每一個(gè)的合并內(nèi)已被用戶接受和拒絕的變更集的列表;并且該工作空間將被累積的列表傳遞給所述合并工具以便合并所述 多個(gè)工件中的下一個(gè)工件。
10. 根據(jù)權(quán)利要求7的方法,其中該方法還包括以下步驟 將被接受和拒絕的變更集的列表輸入所述合并工具; 從該合并工具返回在該合并工具的操作期間已被用戶接受和拒絕的另外的變更集的指示作為輸出。
11. 根據(jù)權(quán)利要求10的方法,其中所述工作空間還識(shí)別被推遲 的變更集,并且當(dāng)所述合并工具提供另外的變更集的指示時(shí),如果先前未完全合 并的工件已經(jīng)推遲所述另外的變更集中的一個(gè)變更,則使用戶能夠在 先前未完全合并的工件上再次調(diào)用該合并工具。
12. 計(jì)算機(jī)軟件配置管理系統(tǒng),該系統(tǒng)包括提供其中對(duì)目標(biāo)軟件配置執(zhí)行操作的工作環(huán)境的工作空間部件, 該工作空間部件識(shí)別當(dāng)前對(duì)該目標(biāo)軟件配置進(jìn)行的變更的變更集;以 及被耦合以與該工作空間部件合作執(zhí)行軟件配置合并的合并部件, 該工作空間部件累積形成該目標(biāo)軟件配置的每個(gè)工件的合并內(nèi)的變更集,并將所述被累積的變更集傳遞給合并部件,從而工件合并在基 本上所有先前的合并決定的情境中進(jìn)行。
13. 根據(jù)權(quán)利要求12的計(jì)算機(jī)軟件配置管理系統(tǒng),其中所迷合 并工具接收被接受和拒絕的變更集的列表作為輸入,并返回已被用戶 接受和拒絕的另外的變更集的指示作為輸出。
14. 根據(jù)權(quán)利要求13的計(jì)算機(jī)軟件配置管理系統(tǒng),其中所迷工 作空間部件還包括識(shí)別被推遲的變更集,并且當(dāng)所述合并部件提供所述另外的變更集的指示時(shí),如果先前未完 全合并的工件已經(jīng)推遲所述另外的變更集中的一個(gè)變更,則該工作空 間部件使用戶能夠在先前未完全合并的工件上再次調(diào)用該合并部件。
全文摘要
用于合并軟件配置的計(jì)算機(jī)方法、裝置和系統(tǒng)。本發(fā)明的系統(tǒng)和方法提供其中對(duì)目標(biāo)軟件配置執(zhí)行操作的工作環(huán)境的工作空間。該工作空間識(shí)別對(duì)該目標(biāo)軟件配置進(jìn)行的變更的變更集。合并工具被耦合以在該工作空間內(nèi)執(zhí)行軟件配置合并。該工作空間累積形成該目標(biāo)軟件配置的每個(gè)工件的合并內(nèi)的變更集,并將被累積的變更集傳遞給合并工具。因此,工件合并在基本上所有先前的合并決定的情境中進(jìn)行。工作空間還跟蹤被推遲的變更集,并且系統(tǒng)使用戶能夠相對(duì)于具有被推遲的變更集的工件再次調(diào)用合并工具。
文檔編號(hào)G06F9/44GK101174216SQ200710168218
公開(kāi)日2008年5月7日 申請(qǐng)日期2007年10月31日 優(yōu)先權(quán)日2006年11月1日
發(fā)明者吉奧弗雷·M.·克萊姆, 基姆·萊特克曼 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司