與 CVS 的團隊程式設計

在「並行版本系統」(CVS) 團隊程式設計環境中,團隊成員會在其自己的「工作台」中執行其所有的工作,彼此獨立。最後,他們會分享其工作。他們透過「CVS 儲存庫」來達成此目的。

分支

CVS 使用分支模型來支援多個工作過程, 其有點彼此隔離,但是仍然相當互相依賴。 分支是開發團隊分享及整合進行中的工作的地方。 分支可被視為一個共用的工作區,其由團隊成員對專案進行變更時所隨之更新。這種模型可讓個人處理 CVS 團隊專案、在完成變更時與其他人共用其成果, 以及在專案運作期間存取他人的成果。有一個又稱為 HEAD 的特殊分支,其代表儲存庫中的主要工作過程(HEAD 經常又稱為幹線)。

分享成果

在團隊成員產生新成果的同時,他們會藉由確認這些變更至分支來分享這項成果。同樣地, 當他們想取得最新的可用成果時,他們就將他們的本端工作區更新成分支上的異動。 因此,分支會不斷地變更,隨著團隊成員提交新成果而更新。

分支有效地代表專案的現行狀態。在任何時刻,團隊成員都可從分支更新其工作區,並得知其內容是最新的。

與分支和工作台交談

理想的團隊模型

CVS 提供兩個在團隊中工作所需的重要特性:

維護歷程非常重要, 因為這樣人們就可以將現行成果與上一個成果相互比較、回復成較好的舊成果等等。協調工作極為關鍵, 這樣就只有存在一個現行專案狀態定義,包含團隊的整合成果。這項協調作業是透過分支模型提供。

在一個理想模型中,團隊的任何成員都可變更他們對其具有存取權的任何資源。由於兩位團隊成員可能會確認分支變更至同一個資源, 因此可能會發生衝突,必須加以處理。這個模型之所以稱為理想,是在於假設衝突會很少。

建議工作流程

資源通常不會單獨存在:它們通常在其他資源上包含隱含或明確的相依項。 例如,網頁有連接其他網頁的鏈結,而原始碼也有在其他原始碼資源中說明的成品參照。 沒有一個資源是孤立的。

在資源確認到分支的同時,這些相依項可能會受到影響。確定相依項的整合性非常重要, 因為分支代表現行專案狀態:在任何時刻,團隊成員都可採用分支內容作為新工作的基礎。

因此,理想的工作流程就是維持了分支整合性的流程。

列舉理想流程

理想的工作流程如下進行:

  1. 開始重新整理:在開始工作之間,請以現行分支狀態更新工作區中的資源。如果您確定沒有要顧慮的本端工作, 則最快的執行方法是從分支(或 HEAD)中選取您有興趣的專案, 然後選取移出作為專案(若是專案已存在本端,則選取取代為 > 儲存庫中的最新版本)。這將會以分支中的資源改寫您的本端資源。

  2. 進行變更:在您的本端「工作台」中工作、建立新資源、修改現有的資源、在進行的同時於本端儲存資源。

  3. 同步化:在準備好確認工作時,請與儲存庫同步化:

    1. 更新:查驗變更,並將它們新增至您的本端「工作台」。這可讓您判定是否有變更會影響您即將確認之變更的整合性。 解決衝突。重新測試、執行整合性檢查程式(例如,檢查中斷的超文字鏈結、確保程式碼編譯等等)。

    2. 確認:現在您已確定您的變更已經與最新的分支內容妥善整合,請將您的變更確認至分支。若有新的送入變更,則為求審慎,您可以重複上一個步驟。

當然,這是理想的工作流程。在某些情況下, 您可能確信送入變更不會影響您,並選擇不更新即逕行確認。然而,一般而言, 團隊成員應努力遵循類似上述的流程,以確保不會無意間破壞了分支的整合性。

您可以在 http://www.cvshome.org 上找到有關 CVS 的詳細資訊。

相關概念
CVS 儲存庫
分支
版本
與 CVS 儲存庫同步化

相關作業
建立 CVS 儲存庫位置

從 CVS 儲存庫移出專案
 
取代工作台中的資源

使用 CVS 來共用新專案

與儲存庫同步化

正在更新

解決衝突

從分支合併

確定

相關參照
CVS

Copyright IBM Corp. and others 2000, 2002. All Rights Reserved.