我們是由3名開發人員組成的小團隊(Boss,我和另一位開發人員主要是遠程工作),我負責爲Mercurial HG設置存儲庫服務器。將Mercurial存儲庫放入共享網絡驅動器是一個好主意嗎?
看來我可以簡單地將我們的集中式存儲庫放在共享網絡驅動器上。這將非常容易設置,但似乎有任何一個人可能會濫用直接工作/修改源存儲庫的方便性。這就是爲什麼我在考慮使用HgWebdir服務器來控制對中央存儲庫的訪問。因此不鼓勵直接訪問中央源代碼庫,但共享驅動器將在這裏以防萬一。
我想這是一個定義我們的內部版本控制程序的問題,而不是一個真正的版本控制問題,但我仍然繼續提出問題。由於我不覺得自己有足夠的經驗可以做出決定,如果我不能100%確定我的理由和方法是有效的,那麼我可能很難執行版本控制系統應該被其他人使用的方式開發人員。
編輯:
我可以看到有共享文件夾版本控制軟件工作的潛在問題。但是任何人都會在推送到共享文件夾時仔細解釋場景背後發生的一切?我的理解是,共享驅動器本質上是一個共享鏈接/快捷方式,因此對於共享驅動器,本地計算機上的Mercurial僅鎖定該鏈接的鎖定,但事實是每個用戶計算機可能具有不同的Mercurial實例,鏈接'鎖,而服務器的Mercurial實例將在物理驅動器上保存自己的鏈接。我可以看到它很複雜,但它會如何失敗?我可以理解結論,但不能將事實與結論聯繫起來
另一點需要考慮的是網絡驅動器通常具有奇怪的文件系統語義,這與SCM不能很好地協作。至少這種情況是因爲涉及網絡驅動器的腐敗(它可能不是固定的)。 – tonfa
我在猜測,將代碼託管在場外,比如位於bitbucket或窯上的私人存儲庫是不可能的? –
@Lasse不,現在不行。順便說一句,任何人都知道在Bitbucket中託管你的非開源源代碼是否可行?我知道這是推理的一種選擇,但除了說「爲什麼?」之外,我怎麼能說服我的老闆呢? –