欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

在集中式源控制環(huán)境中使用分布式源控制的制作方法

文檔序號:6384315閱讀:265來源:國知局
專利名稱:在集中式源控制環(huán)境中使用分布式源控制的制作方法
技術領域
本發(fā)明涉及在集中式源控制環(huán)境中使用分布式源控制。
背景技術
在針對源代碼的修訂控制的軟件開發(fā)期間使用源控制系統(tǒng)。集中式源控制系統(tǒng)準許通?;诳蛻魴C/服務器模型的從中央位置進行修訂控制。在集中式源控制系統(tǒng)中,月艮務器計算機通常維護源代碼儲存庫??蛻魴C計算機上的軟件開發(fā)人員可從源代碼儲存庫登記取出源代碼,并且在例如作出代碼變更之后將源代碼登記存回源代碼儲存庫。分布式源控制系統(tǒng)提供基于對等模型的修訂控制。在分布式源控制系統(tǒng)中,每一個對等節(jié)點(例如每一個客戶機計算機)上的源代碼的工作副本可構成源代碼儲存庫。分布式源控制系統(tǒng)通常被稱為分散式源控制系統(tǒng)。軟件開發(fā)公司通常針對一個項目或使用集中式源控制系統(tǒng)或使用分布式源控制系統(tǒng),但不會兩者同時使用。公司通常對他們的集中式源控制系統(tǒng)具有大量投入,并且可能發(fā)現要改變?yōu)橐环N不同類型的源控制系統(tǒng)是困難且昂貴的。許多開發(fā)人員喜歡使用分布式源控制系統(tǒng),但還可能需要將他們的源代碼登記存入公司的集中式源控制系統(tǒng)。

發(fā)明內容
本發(fā)明的各實施例涉及一種用于在集中式源控制系統(tǒng)的情況下使用分布式源控制系統(tǒng)的方法。在第一電子計算設備上,從源控制儲存庫獲取第一文件集。第一文件集包括集中式源控制系統(tǒng)中的代碼庫的全部或部分。源控制儲存庫是集中式源控制系統(tǒng)中的源控制儲存庫。第一文件集被存儲在第一電子計算設備上。從第二電子計算設備接收對代碼庫的至少一部分的請求。第二電子計算設備是分布式源控制系統(tǒng)中的電子計算設備。作為請求的結果,第一文件集的至少一部分被發(fā)送到第二電子計算設備。從第二電子計算設備接收第二文件集。第二文件集是第一文件集的變更集合。該變更集合被處理,以使得該變更集合采用與第一源控制儲存庫兼容的格式。當該變更集合采用與第一源控制儲存庫兼容的格式時,該變更集合被提交給第一源控制儲存庫。提供本發(fā)明內容是為了以簡化的形式介紹將在以下具體實施方式
中進一步描述的一些概念。本發(fā)明內容并不旨在標識所要求保護的主題的關鍵特征或必要特征,也決不旨在用于限制所要求保護的主題的范圍。


圖1示出支持在集中式源控制環(huán)境中使用分布式源控制系統(tǒng)的示例系統(tǒng)。圖2示出圖1的接口服務器計算機和分布式源控制系統(tǒng)的示例組件。圖3示出一種用于在集中式源控制系統(tǒng)的情況下使用分布式源控制系統(tǒng)的方法的示例流程圖。圖4示出圖1的接口服務器計算機的示例組件。
具體實施例方式本申請涉及用于在集中式源控制環(huán)境中使用分布式源控制系統(tǒng)的系統(tǒng)和方法。使用所述系統(tǒng)和方法,從集中式源控制系統(tǒng)獲取源代碼儲存庫的副本并將其存儲在服務器計算機上。通常,源代碼儲存庫的副本與用戶正對其進行操作的軟件開發(fā)項目相對應。源代碼儲存庫的副本被用作分布式源控制系統(tǒng)的軟件儲存庫。源代碼儲存庫的副本被周期性地更新,對集中式源控制系統(tǒng)上的源代碼儲存庫作出的變更進行鏡像。在本發(fā)明中,源代碼儲存庫的副本被稱為團隊中樞。分布式源控制系統(tǒng)通常包括多個客戶機計算機。當客戶機計算機之一上的軟件開發(fā)人員需要對項目進行操作吋,則軟件開發(fā)人員向團隊中樞請求源代碼。在某些示例中,該請求可以針對軟件開發(fā)項目的完整代碼庫。在其他示例中,該請求可以僅針對軟件開發(fā)項目的代碼庫的一部分。當作出對源代碼的請求時,在客戶機計算機上創(chuàng)建源代碼的工作區(qū)域。從團隊中樞獲取的源代碼被存儲在工作區(qū)域中。軟件開發(fā)人員可編輯存儲在工作區(qū)域中的ー個或多個源代碼文件。當軟件開發(fā)人員完成了對ー個或多個源代碼文件的編輯時,該ー個或多個源代碼文件被打包成與集中式源控制系統(tǒng)兼容的格式。包括在分布式源控制系統(tǒng)上對源代碼文件作出的編輯的經打包的文件隨后被提交給集中式源控制系統(tǒng)以便進行登記存入。以此方式,可以從集中式源控制系統(tǒng)獲取ー個或多個文件,在分布式源控制系統(tǒng)上進行編輯,然后將其登記存入到集中式源控制系統(tǒng)。圖1示出支持在集中式源控制環(huán)境中使用分布式源控制系統(tǒng)的示例系統(tǒng)100。示例系統(tǒng)100包括集中式源控制系統(tǒng)102、104、106,接ロ服務器計算機108,和分布式源控制系統(tǒng)110和112。示例集中式源控制系統(tǒng)102、104、106是用于管理對計算機文檔和文件的變更的修訂和版本控制系統(tǒng)。計算機文檔和文件的儲存庫通常被存儲在集中位置,通常在一個或多個服務器計算機上。集中式源控制系統(tǒng)102、104、106支持客戶機/服務器模型。通常使用客戶機計算機從集中位置登記取出文件的軟件開發(fā)人員對被登記取出的文件作出變更,隨后將文件登記存回集中位置。集中式源控制系統(tǒng)的ー個示例是來自華盛頓州雷蒙德是微軟公司的Team Foundation Sever (團隊基礎服務器)源控制系統(tǒng)。第ニ示例是來自Perforce軟件公司的Perforce源控制系統(tǒng)。集中式源控制系統(tǒng)的其他示例是可能的。示例系統(tǒng)100中可包括更多或更少集中式源控制系統(tǒng)。示例接ロ服務器計算機108提供準許集中式源控制系統(tǒng)102、104、106與分布式源控制系統(tǒng)110、112進行合作的橋接技術。接ロ服務器計算機108獲取存儲在集中式源控制系統(tǒng)102、104、106上的源代碼儲存庫的副本。副本通常包括每ー個源代碼儲存庫中的所有分支以及對源代碼儲存庫作出的變更的完整歷史。在本發(fā)明中也被稱為團隊中樞的副本被存儲在接ロ服務器計算機108上。接ロ服務器計算機108還將在分布式源控制系統(tǒng)110、112上編輯的文件處理成兼容的格式,以便將經編輯的文件登記存入到集中式源控制系統(tǒng)102、104、106中。在各示例中,接ロ服務器計算機108的團隊中樞和登記存入功能可被合并到集中式源控制系統(tǒng)102、104、106中的一個或多個中。另外,在各示例中,可使用多個團隊中樞。例如,可能存在用于每ー個項目的獨立的團隊中樞,每ー個團隊中樞為不同的項目提供源代碼儲存庫的副本。
通常,在分布式源控制系統(tǒng)110、112中的一個上編輯的一個或多個文件被打包以便被登記存入到集中式源控制系統(tǒng)102、104、106中的一個中。接口服務器計算機108將對被登記取出的文件的變更從在其上作出變更的分布式源控制系統(tǒng)定向到其中變更被登記存入的集中式源控制系統(tǒng)。在各示例中,接口服務器計算機108可被配置成將變更從一個分布式源控制系統(tǒng)定向到特定的集中式源控制系統(tǒng)。在其他示例中,接口服務器計算機108可維護哪個分布式源控制系統(tǒng)與哪個集中式源控制系統(tǒng)相對應的內部表。例如,如果來自一個分布式源控制系統(tǒng)中的客戶機計算機作出了針對被包括在與特定集中式源控制系統(tǒng)相關聯(lián)的團隊中樞中的項目的文件的請求,則接口服務器計算機108可維護將該分布式源控制系統(tǒng)與該集中式源控制系統(tǒng)相關聯(lián)的表。示例分布式源控制系統(tǒng)110、112實現源控制的對等模型。在分布式源控制系統(tǒng)110、112中,每一個對等節(jié)點(通常為客戶機計算機)存儲源代碼儲存庫的工作副本??蓮墓ぷ鞲北局袆?chuàng)建一個或多個代碼分支。軟件開發(fā)人員可在線或離線地對軟件文件作出變更。不同客戶機計算機上的軟件開發(fā)人員可直接共享經編輯的文件,從而消除了將文件傳輸到集中位置的必要。分布式源控制系統(tǒng)的連個示例是Mercurial分布式源控制系統(tǒng)和Git分布式源控制系統(tǒng)。分布式源控制系統(tǒng)的其他示例是可能的。示例系統(tǒng)100中可包括更多或更少分布式源控制系統(tǒng)。示例系統(tǒng)100還支持混合模型,其中軟件開發(fā)團隊可使用與集中式源控制系統(tǒng)相關聯(lián)的工具,并且還可使用與分布式源控制系統(tǒng)相關聯(lián)的工具。例如,軟件開發(fā)人員可使用客戶機計算機,使用與集中式源控制系統(tǒng)102相關聯(lián)的登記存入和登記取出工具來將文件在集中式源控制系統(tǒng)上(例如集中式源控制系統(tǒng)102上)的源代碼儲存庫中登記存入和登記取出。同一個軟件開發(fā)人員還可將客戶機計算機作為分布式源控制系統(tǒng)(例如分布式源控制系統(tǒng)110)的一部分來使用以離線工作、與分布式源控制系統(tǒng)中的其他客戶機計算機共享文件、以及使用與分布式源控制系統(tǒng)相關聯(lián)的工具。軟件開發(fā)人員還可在分布式軟件控制系統(tǒng)上創(chuàng)建代碼分支。代碼分支通常與正被開發(fā)或正對其進行調試的新的軟件特征相關聯(lián)。代碼分支可與其他開發(fā)人員共享??稍诖a分支上完成多次登記存入。軟件開發(fā)人員可使用圍繞集中式源控制系統(tǒng)創(chuàng)建的預登記存入驗證的標準工具來對在他們的分布式源控制系統(tǒng)工作區(qū)域中開發(fā)的變更進行操作。這通過將數據打包成公共格式并且或將變更集直接提交給集中式源控制系統(tǒng)或將變更集提交給接口服務器計算機108,從接口服務器計算機108將變更集提交給集中式源控制系統(tǒng)來完成,這將在下文更詳細地說明。圖2示出更詳細地描述了接口服務器計算機108和分布式源控制系統(tǒng)110的操作的示例系統(tǒng)200。示例系統(tǒng)200包括集中式源控制系統(tǒng)102、接口服務器計算機108、和分布式源控制系統(tǒng)110。接口服務器計算機108包括示例團隊中樞模塊202和示例變更集登記存入模塊204。分布式源控制系統(tǒng)110包括客戶機計算機206和210。客戶機計算機206包括工作區(qū)域208,而客戶機計算機210包括工作區(qū)域212。分布式源控制系統(tǒng)110中可包括更多或更少客戶機計算機。在各不例中,團隊中樞I旲塊202從集中式源控制系統(tǒng)102犾取并存儲針對一項目的源代碼儲存庫的副本。源代碼儲存庫的副本包括來自源代碼儲存庫的所有文件的副本、所有代碼分支、以及項目的所有歷史記錄。另外,團隊中樞模塊從集中式源控制系統(tǒng)102獲取對源代碼儲存庫的周期性更新。在各示例中,周期性更新可以5到15分鐘的間隔發(fā)生。其他時間間隔是可能的。在各示例中,也被稱為鏡像的獲取周期性更新可使用來自集中式源控制系統(tǒng)102的提交通知來觸發(fā)。當客戶機計算機206上的軟件開發(fā)人員需要訪問項目的源代碼時,客戶機計算機206向團隊中樞模塊202發(fā)送對源代碼的請求。該請求可以針對項目的整個代碼庫,或者該請求可以針對項目的代碼庫的一部分。所獲取的源代碼有時被稱為軟件征募(enlistment)或工作區(qū)域。當從團隊中樞模塊202獲取所請求的源代碼時,源代碼被存儲在客戶機計算機206上的工作區(qū)域208中。客戶機計算機206上的軟件開發(fā)人員可編輯存儲在工作區(qū)域208中的一個或多個文件。另外,軟件開發(fā)人員可創(chuàng)建存儲在工作區(qū)域208中的源代碼的一個或多個新的代碼分支,編輯一個或多個代碼分支中的一個或多個源代碼文件,并且將經編輯的代碼登記存回工作區(qū)域208中。以類似的方式,當客戶機計算機210上的軟件開發(fā)人員需要訪問項目的源代碼時,客戶機計算機210向團隊中樞模塊202發(fā)送對源代碼的請求。該請求可以針對項目的整個代碼庫,或者該請求可以針對項目的代碼庫的一部分。當從團隊中樞模塊202獲取所請求的源代碼時,源代碼被存儲在客戶機計算機212上的工作區(qū)域208中??蛻魴C計算機210上的軟件開發(fā)人員可編輯存儲在工作區(qū)域212中的一個或多個文件。另外,軟件開發(fā)人員可創(chuàng)建存儲在工作區(qū)域212中的源代碼的一個或多個代碼分支,編輯一個或多個代碼分支中的一個或多個源代碼文件,并且將經編輯的代碼登記存回工作區(qū)域212中??蛻魴C計算機206和210上的軟件開發(fā)人員還可共同對特定軟件特征進行操作。通常,這通過創(chuàng)建該特征的源代碼的獨立分支來完成。例如,一個軟件開發(fā)人員(例如客戶機計算機206上的軟件開發(fā)人員)可編寫該特征的代碼,而另一軟件開發(fā)人員(例如客戶機計算機210上的軟件開發(fā)人員)可測試該特征的代碼。在某一時刻,客戶機計算機206和210上的軟件開發(fā)人員可能想要將經更新的源文件登記存入到集中式源控制系統(tǒng)102中。通常,在分布式源控制系統(tǒng)上,經更新的源文件和其他變更被打包成變更集,并且被提交給集中式源控制系統(tǒng)以便進行登記存入。然而,分布式源控制系統(tǒng)110可為登記存入使用與集中式源控制系統(tǒng)102中所使用的不同的命令和不同的文件格式。因此,變更集需要被處理成與集中式源控制系統(tǒng)102兼容的格式。變更集通常包括經被添加、刪除、修改的所有源文件,通常針對在代碼分支中完成的工作,例如針對漏洞修復或針對特定特征。變更集還包括作出的變更的清單或描述。例如,如果用戶在五個獨立的分布式源控制系統(tǒng)上添加了文件A、編輯了文件A、編輯了文件B、添加了文件C以及刪除了文件C,則變更集包括文件A、文件B和清單。另外,變更集通常包括版本化信息、時間戳、作者等。在某些示例中,變更集被打包成包括所有經變更的源代碼文件和清單的一個文件,例如zip文件。在其他示例中,經變更的文件被單獨提供。在某些示例中,變更集包括XML文件或腳本。變更集登記存入模塊204將變更集處理成與集中式源控制系統(tǒng)102兼容的格式。因為源代碼變更采用與集中式源控制系統(tǒng)102兼容的格式,所以源代碼變更現在可被登記存入到集中式源控制系統(tǒng)102中。結果,在分布式源控制系統(tǒng)中的客戶機計算機206和210上作出的變更可被登記存入到集中式源控制系統(tǒng)102中。變更集登記存入模塊204還處理其中使用集中式源控制系統(tǒng)和多個分布式源代碼控制系統(tǒng)的情形,例如圖1中的系統(tǒng)100。例如,每一個分布式源控制系統(tǒng)110、112可具有針對集中式源控制系統(tǒng)102、104、106中的任一個的源代碼變更。在各示例中,從分布式源控制系統(tǒng)110、112接收的源代碼更新包括對源代碼更新針對哪個集中式源控制系統(tǒng)的指示。例如,當創(chuàng)建分布式源代碼征募時,分布式源代碼征募通常包括團隊中樞客戶機配置文件,該文件將分布式源代碼征募指向合適的目標集中式源代碼控制系統(tǒng)。團隊中樞客戶機工具隨后可被用來打包源代碼變更,并且將經打包的源代碼變更定向到合適的目標集中式源代碼控制系統(tǒng)。在其他示例中,變更集登記存入模塊204包括將分布式源控制系統(tǒng)與集中式源控制系統(tǒng)相關聯(lián)的路由信息。當從分布式源控制系統(tǒng)接收到源代碼更新時,變更集登記存入模塊204將源代碼更新格式化成與合適的集中式源控制系統(tǒng)兼容。集中式源控制系統(tǒng)102可從多個客戶機計算機(例如,從分布式源控制系統(tǒng)110中的客戶機計算機206和210以及從分布式源控制系統(tǒng)112中的一個或多個客戶機計算機)接收一個或多個特征代碼分支上的源代碼變更。一旦代碼分支上的源代碼變更被提交給集中式源控制系統(tǒng)102,這些變更就最終被鏡像到團隊中樞模塊202。當被鏡像到團隊中樞模塊202時,可刪除分布式源控制系統(tǒng)112中的代碼分支,因為該代碼分支現在是冗余的。有時,當源代碼更新給提交給集中式源控制系統(tǒng)時會發(fā)生沖突。沖突通常是在另一軟件開發(fā)人員從集中式源控制系統(tǒng)上的源代碼儲存庫獲取了文件之后一個或多個軟件開發(fā)人員對該源代碼儲存庫作出變更而導致的。例如,如果客戶機計算機206上的軟件開發(fā)人員正在來自從團隊中樞模塊202獲得的代碼庫的特征代碼分支中進行操作,而客戶機計算機210上的另一軟件開發(fā)人員對這一相同的代碼庫作出變更并且在客戶機計算機206上的軟件開發(fā)人員將類似的文件登記存入到集中式源控制系統(tǒng)102之前將那些變更登記存入回集中式源控制系統(tǒng)102中的源代碼儲存庫,則現在存儲在集中式源控制系統(tǒng)102中的一個或多個文件可能與客戶機計算機206上的軟件開發(fā)人員正提交的文件不同。在類似于這樣的情形中,集中式源控制系統(tǒng)102可拒絕客戶機計算機206上的軟件開發(fā)人員提交的源代碼變更??蛻魴C計算機206上的軟件開發(fā)人員在將源代碼變更重新提交給集中式源控制系統(tǒng)102之前可能需要手動解決沖突??蛻魴C計算機206上的軟件開發(fā)人員通過從團隊中樞模塊202獲取最新近的源代碼、將特征分支中的源代碼變更與最新近的所獲取的源代碼合并、并且重新提交源代碼變更來手動解決沖關。圖3示出一種用于在集中式源控制系統(tǒng)的情況下使用分布式源控制系統(tǒng)的方法300的示例流程圖。在操作302,從集中式源控制儲存庫獲取第一文件集。集中式源控制儲存庫是集中式源控制系統(tǒng)的一部分,諸如來自微軟公司的TeamFoundation Server源控制系統(tǒng)。第一文件集通常包括項目的代碼庫。代碼庫通?;趤碜约惺皆纯刂葡到y(tǒng)中的服務器計算機(例如,來自接口服務器計算機108 (團隊中樞服務器計算機))的請求來從集中式源代碼儲存庫獲取。在某些示例中,團隊中樞服務器計算機與主存集中式源代碼儲存庫的服務器計算機是不同的。在其他示例中,團隊中樞服務器計算機與主存集中式源代碼儲存庫的服務器計算機是相同的。在其他示例中,團隊中樞服務器計算機是開發(fā)人員的計算機。在操作304,所獲取的代碼庫被存儲在團隊中樞服務器計算機上。團隊中樞服務器計算機充當分布式源控制系統(tǒng)中的客戶機計算機的源代碼中樞。一個或多個客戶機計算機可請求代碼庫的全部或部分。源代碼中樞的示例是接口服務器計算機108上的團隊中樞模塊 202。在操作306,從分布式源控制系統(tǒng)上的客戶機計算機(例如從客戶機計算機206)接收對代碼庫的請求。該請求可針對存儲在團隊中樞服務器計算機上的完整代碼庫。另選地,該請求可針對存儲在團隊中樞服務器計算機上的代碼庫的一部分。在某些示例中,該請求包括從團隊中樞服務器計算機登記取出代碼庫的一部分。在各示例中,超過一個客戶機計算機(例如客戶機計算機210)可登記取出代碼庫的全部或部分。登記取出文件指的是團隊中樞服務器計算機制作所請求的文件的副本,并將所請求的文件發(fā)送到作出對文件的請求的客戶機計算機。在操作308,所請求的文件被發(fā)送到客戶機計算機。文件在客戶機計算機206處被接收并且被存儲在客戶機計算機206上的工作區(qū)域中(例如工作區(qū)域208)。工作區(qū)域是客戶機計算機206上文件可在其中被編輯并且可從中創(chuàng)建或刪除一個或多個代碼分支的存儲器區(qū)域。在各示例中,代碼分支與項目中的特定特征或漏洞修復相對應。例如,代碼分支可表示某一天的代碼庫,或者代碼庫可表示專用于諸如測試之類的特定操作的代碼庫的版本。代碼分支通常與不同的發(fā)布版本相對應。另外,源代碼文件可在不同代碼分支上多次修改。例如,文件X可能在分支Y上被修改了 N次,在分支Z上被修改了 M次。代碼分支的其他示例是可能的。代碼分支的經修改的文件可被登記存入到集中式源控制系統(tǒng)102中,如本文所討論的。在操作310,從客戶機計算機206接收變更集。變更集包括在客戶機計算機206上被添加、刪除或修改的文件。變更集還包括提供對客戶機計算機206上的源代碼作出的變更的描述的清單。需要該清單來以最高的保真度將變更從分布式源控制系統(tǒng)復制到集中式源控制系統(tǒng)。例如,文件A可被重命名為文件B,文件C可被復制到文件D并且隨后被修改,文件E可被刪除,等等。變更集還包括作者名、版本號、時間戳等。變更集中可包括其他信息。變更集可包括一個文件,例如zip文件,或者變更集可包括多個文件。在各示例中,變更集可包括XML文件或腳本。變更集的其他示例是可能的。除了包括客戶機計算機206上作出的變更之外,變更集還可包括由例如客戶機計算機210之類的一個或多個其他客戶機計算機做源文件作出的變更。在分布式源控制系統(tǒng)中,分布式源控制系統(tǒng)中的各個客戶機計算機可彼此傳遞代碼變更。另外,開發(fā)人員可直接與集中式源控制系統(tǒng)(例如集中式源控制系統(tǒng)102)進行操作,與可能正直接與分布式源控制系統(tǒng)進行操作的其他開發(fā)人員并行。在操作312,變更集在變更集登記存入模塊204中被處理成對于在集中式源控制系統(tǒng)處登記存入是兼容的。集中式源控制系統(tǒng)102通常使用與分布式源控制系統(tǒng)110中所使用的不同的句法和進程來進行文件的登記存入和登記取出。當變更集在變更集登記存入模塊204中被處理時,第二文件集中的一個或多個文件可被格式化成與集中式源控制系統(tǒng)102兼容的格式。在操作314,變更集被提交以向集中式源控制系統(tǒng)102登記存入。
當變更集在客戶機計算機106處被打包時,打包變更集的工具還包括對正被使用的分布式源控制系統(tǒng)的類型(例如,Mercurial分布式源控制系統(tǒng)或Git分布式源控制系統(tǒng))的指示。當變更集在操作312被處理時,變更集登記存入模塊204根據變更集作出關于正在使用哪個分布式源控制系統(tǒng)的判斷。變更集被打包成與正在使用的分布式源控制系統(tǒng)無關的格式。變更集登記存入模塊204還作出關于變更集要被定向到哪個集中式源控制系統(tǒng)的判斷。作為對變更集源自的分布式源控制系統(tǒng)以及變更集要被登記存入的集中式源控制系統(tǒng)的判斷的結果,登記存入模塊204可能需要修改或重新格式化變更集中的一個或多個文件,以使得變更集與該變更集要被登記存入的集中式源控制系統(tǒng)兼容。然而,在登記存入時,集中式源控制系統(tǒng)不必知道變更集是在哪個分布式源控制系統(tǒng)上創(chuàng)建的,并且在分布式源控制系統(tǒng)創(chuàng)建和打包變更集時,分布式源控制系統(tǒng)不必知道該變更集要被定向到哪個集中式源控制系統(tǒng)。結果,對于代碼登記存入,每一個分布式源控制系統(tǒng)只需要將變更集定向到變更集登記存入模塊204,并且不需要到每一個集中式源控制系統(tǒng)的鏈接。類似地,對于代碼登記存入,每一個集中式源控制系統(tǒng)只需要具有到登記存入模塊204的鏈接,而不需要到每一個分布式源控制系統(tǒng)的鏈接。在只使用一個集中式源控制系統(tǒng)(例如集中式源控制系統(tǒng)102)的示例系統(tǒng)中,客戶機計算機206可將經打包的變更集直接發(fā)送到集中式源控制系統(tǒng)102。在各示例中,經打包的變更集可被直接發(fā)送到集中式源控制系統(tǒng)102,甚至對于使用多個集中式源控制系統(tǒng)的情況也是如此。例如,分支上的變更可被直接提交給集中式源控制系統(tǒng)102或提交給指定的集中式源控制系統(tǒng)。參考圖4,示出了接口服務器計算機108的示例組件。在各示例實施例中,服務器計算機108是計算設備。服務器計算機108可包括輸入/輸出設備、中央處理單元(“CPU”)、數據存儲設備以及網絡設備。服務器計算機108還可以是移動計算設備,諸如膝上型計算機、平板計算機、可轉換設備、或如智能電話或蜂窩電話之類的其他手持式設備。在基本的配置中,服務器計算機108通常包括至少一個處理單元402和系統(tǒng)存儲器404。取決于計算設備的確切配置和類型,系統(tǒng)存儲器404可以是易失性的(諸如RAM)、非易失性的(諸如ROM、閃存等)或是兩者的某種組合。系統(tǒng)存儲器404通常包括適用于控制客戶計算機的操作的操作系統(tǒng)406。系統(tǒng)存儲器404還可以包括一個或多個軟件應用408并且可以包括程序數據。服務器計算機108可具有附加特征或功能。例如,服務器計算機108還可以包括計算機可讀介質。計算機可讀介質可包括計算機可讀存儲介質和通信介質兩者。計算機可讀存儲介質是物理介質,諸如包括磁盤、光盤或磁帶的數據存儲設備(可移動和/或不可移動)。這樣的附加存儲在圖4中由可移動存儲410和不可移動存儲412示出。計算機可讀存儲介質可以包括以用于存儲諸如計算機可讀指令、數據結構、程序模塊或其它數據等信息的任何方法或技術實現的易失性和非易失性、可移動和不可移動介質。計算機可讀存儲介質可以包括但不限于,RAM、ROM、EEPROM、閃存或其他存儲器技術、CD-ROM、數字多功能盤(DVD)或其他光盤存儲、盒式磁帶、磁帶、磁盤存儲或其他磁存儲設備,或者可用于存儲所需信息并可由服務器計算機108訪問的任何其他介質。任何這樣的計算機可讀存儲介質都可以是服務器計算機108的一部分。服務器計算機108還可具有諸如鍵盤、鼠標、筆、語音輸入設備、觸摸輸入設備等輸入設備414。還可包括諸如顯示器、揚聲器、打印機等輸出設備416。根據本公開的實施例,輸入設備414可包括能夠檢測用戶的移動或姿勢的任何運動檢測設備。例如,輸入設備414可以包括微軟公司的KINECT 運動捕捉設備,它包括多個相機和多個話筒。服務器計算機108也可以包含允許該設備與其它計算設備418通信的通信連接420,諸如在分布式計算環(huán)境中通過網絡,例如內聯(lián)網或因特網。通信連接418是通信介質的一個示例。通信介質通常由諸如載波或其他傳輸機制之類的已調制數據信號中的計算機可讀指令、數據結構、程序模塊、或其他數據來體現,并且包括任何信息傳送介質。術語已調制數據信號摂是指使得以在信號中編碼信息的方式來設定或改變其一個或多個特征的信號。作為示例而非限制,通信介質包括諸如有線網絡或直接線連接之類的有線介質、以及諸如聲學、RF、紅外及其他無線介質之類的無線介質??梢酝ㄟ^片上系統(tǒng)(SOC)來實踐本發(fā)明的實施例,其中,可以將圖4中示出的每個或許多組件集成到單個集成電路上。這樣的SOC設備可包括一個或多個處理單元、圖形單元、通信單元、系統(tǒng)虛擬化單元以及各種應用功能,所有這些都被集成到(或“燒錄到”)芯片基板上作為單個集成電路。當經由SOC來操作時,上文描述的關于本發(fā)明的功能可經由與單集成電路(芯片)上的服務器計算機108的其他組件相集成的應用專用邏輯來操作。以上描述的各個實施例僅作為說明提供,并且不應被解釋為限制??蓪σ陨厦枋龅膶嵤├龀龈鞣N修改和改變,而不背離本公開的真實精神和范圍。
權利要求
1.一種用于在集中式源控制系統(tǒng)(102)的情況下使用分布式源控制系統(tǒng)(110)的方法,所述方法包括在第一電子計算設備(108)上,從第一源控制儲存庫獲取一個或多個文件的第一集合,第一文件集包括所述集中式源控制系統(tǒng)(102)中的代碼庫的全部或部分,所述第一源控制儲存庫是第一集中式源控制系統(tǒng)(102)中的源控制儲存庫;將所述第一文件集存儲在所述第一電子計算設備(108)上;從第二電子計算設備(206)接收對所述代碼庫的至少一部分的請求,所述第二電子計算設備(206)是第一分布式源控制系統(tǒng)(I 10)中的電子計算設備;作為所述請求的結果,將所述第一文件集的至少一部分發(fā)送到所述第二電子計算設備(206);從所述第二電子計算設備(206)接收一個或多個文件的第二集合,所述一個或多個文件的第二集合是所述第一文件集的變更集;以及處理所述變更集以使得所述變更集采用與所述第一源控制儲存庫兼容的格式;以及當所述變更集采用與所述第一源控制儲存庫兼容的格式時,將所述變更集提交給所述第一源控制儲存庫。
2.如權利要求1所述的方法,其特征在于,還包括周期性地從所述第一源控制儲存庫獲取對所述第一文件集的一個或多個文件的更新,并且將所述更新存儲在所述第一電子計算設備(108)上。
3.如權利要求1所述的方法,其特征在于,所述變更集標識所述變更集要被提交給的集中式源控制系統(tǒng)(102)。
4.如權利要求1所述的方法,其特征在于,所述變更集包括來自未包括在所述第一文件集中的一個或多個源代碼分支的源代碼變更。
5.如權利要求1所述的方法,其特征在于,所述第一源控制儲存庫駐留在所述第一電子計算設備(108)上。
6.如權利要求1所述的方法,其特征在于,還包括將所述第一文件集的至少一部分發(fā)送到第三電子計算設備,所述第三電子計算設備是第二分布式源控制系統(tǒng)(112)的一部分;從所述第三電子計算設備接收一個或多個文件的第三集合,所述一個或多個文件的第三集合是第一文件集的第二變更集;處理所述第二變更集以使得所述第二變更集采用與所述第一源控制儲存庫兼容的格式;以及當所述第二變更集采用與所述第一源控制儲存庫兼容的格式時,將所述第二變更集提交給所述第一源控制儲存庫。
7.第一電子計算設備(108),包括處理單元;以及系統(tǒng)存儲器,所述系統(tǒng)存儲器包括在由所述處理單元執(zhí)行時致使所述第一電子計算設備(108)執(zhí)行以下動作的指令從第一源控制儲存庫獲取一個或多個文件的第一集合,所述第一源控制儲存庫是集中式源控制系統(tǒng)(102)中的源控制儲存庫;將第一文件集存儲在所述第一電子計算設備(108)上;從第二電子計算設備(206)接收對所述第一文件集的請求,所述第二電子計算設備 (206)是第一分布式源控制系統(tǒng)(I 10)中的電子計算設備;作為所述請求的結果,將所述第一文件集發(fā)送到所述第二電子計算設備(206);從所述第二電子計算設備(206)接收一個或多個文件的第二集合,所述一個或多個文件的第二集合是所述第一文件集的變更集;以及處理所述變更集以使得所述變更集采用與所述第一源控制儲存庫兼容的格式;以及當所述變更集采用與所述第一源控制儲存庫兼容的格式時,將所述變更集提交給所述第一源控制儲存庫。
8.如權利要求7所述的第一電子計算設備(108),其特征在于,所述第一電子計算設備 (108)支持混合模型,所述混合模型準許從作為所述集中式源控制系統(tǒng)的一部分的第一客戶機計算機以及從作為所述分布式源控制系統(tǒng)(110)的一部分的第二客戶機計算機(206) 進行代碼登記取出和代碼登記存入。
9.如權利要求7所述的第一電子計算設備(108),其特征在于,還包括周期性地從所述第一源控制儲存庫獲取對所述第一文件集的一個或多個文件的更新,并且將所述更新存儲在所述第一電子計算設備(108)上。
10.一種包括在由電子計算設備(108)執(zhí)行時致使所述電子計算設備(108)執(zhí)行以下動作的指令的計算機可讀存儲介質從第一源控制儲存庫獲取一個或多個文件的第一集合,所述第一源控制儲存庫是集中式源控制系統(tǒng)(102)中的源控制儲存庫;將第一文件集存儲在第一電子計算設備(108)上;周期性地從所述第一源控制儲存庫獲取對所述第一文件集的一個或多個文件的更新, 并且將所述更新存儲在所述電子計算設備(108)上;從第二電子計算設備(206)接收對所述第一文件集的請求,所述第二電子計算設備 (206)是第一分布式源控制系統(tǒng)(I 10)中的電子計算設備;作為所述請求的結果,將所述第一文件集發(fā)送到所述第二電子計算設備(206);從所述第二電子計算設備(206)接收一個或多個文件的第二集合,所述一個或多個文件的第二集合是所述第一文件集的第一變更集,所述第一變更集包括匯總所述第一變更集中包括的變更的清單,所述第一變更集包括對所述第一文件集的添加和刪除,所述第一變更集包括版本化信息,所述第一變更集包括未被包括在所述第一文件集中的一個或多個源代碼分支,所述源代碼分支中的至少一個是特征分支,所述特征分支包括一個或多個軟件特征或者一個或多個軟件漏洞修補;處理所述第一變更集以使得所述第一變更集采用與所述第一源控制儲存庫兼容的格式;當所述第一變更集采用與所述第一源控制儲存庫兼容的格式時,將所述第一變更集提交給所述第一源控制儲存庫。將所述第一文件集發(fā)送到第三電子計算設備,所述第三電子計算設備是第二分布式源控制系統(tǒng)(I 12)的一部分;從所述第三電子計算設備接收一個或多個文件的第三集合,所述一個或多個文件的第三集合是所述第一文件集的第二變更集,所述第二變更集包括對所述第一文件集的添加和刪除,所述第二變更集包括版本化信息,所述第二變更集包括未被包括在所述第一文件集中的一個或多個源代碼分支,所述源代碼分支中的至少一個是特征分支,所述特征分支包括一個或多個軟件特征或者一個或多個軟件漏洞修補; 處理所述第二變更集以使得所述第二變更集采用與所述第一源控制儲存庫兼容的格式;以及當所述第二變更集采用與所述第一源控制儲存庫兼容的格式時,將所述第二變更集提交給所述第一源控制儲存庫。
全文摘要
本發(fā)明涉及在集中式源控制環(huán)境中使用分布式源控制。呈現了一種用于在集中式源控制系統(tǒng)的情況下使用分布式源控制系統(tǒng)的方法。從源控制儲存庫獲取第一文件集并且將其存儲在第一電子計算設備上。第一文件集包括集中式源控制系統(tǒng)中的代碼庫的全部或部分。從分布式源控制系統(tǒng)中的第二電子計算設備接收對代碼庫的至少一部分的請求。作為請求的結果,第一文件集的至少一部分被發(fā)送到第二電子計算設備。從第二電子計算設備接收第一文件集的變更集。變更集被處理成采用與源控制儲存庫兼容的格式。變更集被提交給源控制儲存庫。
文檔編號G06F9/44GK103019718SQ201210544598
公開日2013年4月3日 申請日期2012年12月14日 優(yōu)先權日2011年12月16日
發(fā)明者V·伯克特, T·A·布赫 申請人:微軟公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
雷波县| 和政县| 信丰县| 渭南市| 苍梧县| 泸西县| 濉溪县| 沾益县| 甘南县| 会宁县| 蚌埠市| 枝江市| 绥德县| 广平县| 扎兰屯市| 石狮市| 化隆| 宜春市| 静海县| 阜平县| 明光市| 日喀则市| 都匀市| 乐亭县| 安远县| 彭水| 衡阳县| 化州市| 石狮市| 甘泉县| 甘孜县| 渭源县| 都兰县| 云阳县| 竹山县| 化州市| 项城市| 陇西县| 名山县| 剑川县| 旬阳县|