2011-07-07 21 views
0

我們目前主要是SVN用戶,其工作流程明確。 我們使用中央/鏡像回購,鎖定以防止意外同時編輯二進制文物,以定義方式分支/合併代碼等。如何在Mercurial中處理二元工件(例如文檔)

我們在一些實驗中使用了hg(和git),它們是非常好。我們希望在實際項目中更廣泛地使用它們。

我們應該如何處理困難/不可能合併二元工件,如來自各種工具或圖像等的文檔?

建議採用什麼工作流程來防止用戶在各種回購庫中對這些項目進行更改,並在以後避免硬手動更改對帳過程?

回答

0

我認爲很容易合併二進制文件一般是不可能的,因爲它取決於二進制數據的類型。因此需要在能夠處理特定文件格式的應用程序中手動完成。

通常爲了防止用戶同時對某些項目進行更改,您需要實現鎖定機制。只有當所有的客戶都知道有東西被鎖定時(例如,通過聯繫中央服務器或者如果它被鎖定,則廣播問題),才能正確鎖定。目前,如果不編寫專門的軟件(由動作或持續運行的後臺進程或類似的東西觸發),如何實現這一點,我沒有任何有用的想法。

如果二進制文件只是某些其他源代碼的編譯後輸出,您也可以將它們添加到.hgignore中,而不是在存儲庫中處理它們。

+0

「......你需要實現一個鎖定機制......」。所以我想知道的是,鑑於hg/git的巨大吸收率以及它們與地理上分佈的團隊的使用情況,目前處理非生成的,不可合併的二進制文件的最佳做法是什麼。像圖像或各種類型的二進制「文檔」,它們構成項目的一部分,需要進行版本控制。在SVN中,我們只需將其設置爲需要鎖定:一個足夠的解決方案。我寧願不重新發明任何車輪,所以肯定必須有現有的解決方案? – liamf

+0

嗯,那麼:http://mercurial.selenic.com/wiki/LockExtension? – gw0

+0

看起來有趣... – liamf

相關問題