當您在「工作台」中處理某個專案時, 您團隊的其他成員可能正在確定變更至儲存庫中該專案的副本。 若要取得這些變更,您可以「更新」「工作台」來符合分支的狀態。您會看到的變更將會是您的「工作台」專案被配置為要共用的分支所特有的。您可控制您選擇更新的時間。
您可以從兩個地方發出更新指令:團隊 > 更新功能表或同步化檢視畫面。為了瞭解這兩個指令之間的差異, 請務必知道三種不同類別的送入變更。
當您選取團隊 > 更新時, 將會以上述全部三種類型的送入變更更新本端資源的內容。若是非衝突及可自動合併的衝突, 則不需要其他的動作(以可自動合併的衝突而言,變更的本端資源會移至字首為".#"的檔案,以免其非為使用者想要的自動合併)。然而,若是非可自動合併的衝突, 會使用特殊的 CVS 特有標記文字(針對 ASCII 檔案)將衝突合併到本端資源中, 或是將變更的本端資源移至字首為".#"的檔案(針對二進位檔案)。這符合 CVS 指令行行為,但是在與 Eclipse 自動建置機制結合時可能會有問題。此外,在更新任何本端資源之前,最好先知道有什麼送入變更。這些問題由「同步化」檢視畫面處理。
若要在送入模式中開啟「同步化」檢視畫面:
在送入模式中,您將會看到自前次更新後確認至分支的變更。檢視畫面將會指出每一個送入變更的類型(非衝突、可自動合併的衝突或非可自動合併的衝突)。有兩個更新指令(可從檢視畫面中的任何資源的快速功能表中存取)可用來處理不同類型的衝突:從儲存庫更新和置換並更新。當您在「同步化」檢視畫面中選取從儲存庫更新指令時, 只會處理非衝突的變更,而將任何具有可自動合併的衝突或非可自動合併的衝突之檔案留在檢視畫面中(任何已順利處理的檔案會從檢視畫面移除)。 置換並更新指令作用於兩種類型的衝突。 在選取這個指令之後,在嘗試合併之前會先提示您, 並詢問您要自動合併內容或是要以儲存庫檔案加以改寫。如果您選擇要自動合併, 則只會處理可自動合併的衝突,同時送入變更會與本端變更自動合併。否則,將會處理所有的衝突,並將以遠端內容取代本端資源。這個「取代」行為通常不是理想的。稍後會說明替代方案。
若要更新非衝突的及可自動合併的檔案:
如果您的本端「工作台」包含任何無法自動合併的送出變更以及來自分支的送入變更, 則您可以手動方式將差異合併到「工作台」中,而不是執行置換並更新, 其步驟如下:
附註: 當您更新時,儲存庫的內容並不會變更。當您接受送入變更時, 這些變更會套用至您的「工作台」。儲存庫只有在您確定送出變更時才會改變。
要訣: 若在「結構比較」窗格中選取送入變更集的上代, 將會對所有適當的子項執行作業。 例如,選取最上面的資料夾,然後選取從儲存庫更新, 將會處理所有非衝突的送入變更,而不處理所有的其他送入變更。
警告: 上述說明的置換並更新指令的行為僅適用於「同步化」檢視畫面的送入模式。在檢視畫面的送入/送出模式中, 送入變更與衝突的行為相同,但是此指令會將送出的變更回復成儲存庫的內容。在送入/送出模式中使用這個指令時,請務必小心。