我正在尋找一些有關在Perforce倉庫中創建各個開發分支的方法的優缺點的反饋。如果我理解正確,有兩種處理方法。首先是創建一個專用分支,它是您正在開發的分支的完整副本。該分支將完全獨立並完全隔離目標分支上的更改。Perforce開發分支 - 稀疏分支與私有分支
我聽說過的另一種方法是推薦使用稀疏分支。它在Practical Perforce(第9章,第242頁)中有描述。這會創建一個分支,但僅限於需要編輯的文件。然後,您將目標分支客戶端視圖與此稀疏開發分支客戶端視圖重疊。
這兩種方法都需要程序員執行一些集成工作,以便在目標分支中獲得更改。 Private Branch方法似乎需要更多的額外內存才能創建整個分支的副本。但是,Perforce文檔聲明它在這種情況下執行「懶惰拷貝」。
集成還使Perforce能夠執行文件的「延遲複製」。當您分支 文件時,服務器實際上並不擁有文件的兩個副本 - 它僅保存源文件,數據庫中的指針記錄了發生到目標文件的分支的事實。延遲副本使分支成爲低開銷操作;服務器不必跟蹤文件的重複副本。
這使得它看起來像稀疏分支方法只是增加了人爲錯誤的可能性,例如,開發人員可能會開始工作的文件,他們沒有添加到稀疏分支和那麼意外更新了對打破構建的目標分支的更改。但是,Sparse分支功能存在是有原因的。任何反饋意見,爲什麼它存在,爲什麼我應該使用它在一個完整的私人分支(反之亦然)將不勝感激。
客戶端磁盤空間上的優點。我忘了指出,因爲我的機器上有空間,但在大多數情況下它仍然有效。 – Fostah 2009-04-08 13:45:49