2010-10-01 34 views
6

我已將內部代碼庫切換爲使用Mercurial和託管的遠程存儲庫。我讀過使用Mercurial通過SSH而不是HTTPS更快,因爲數據在發送前被壓縮。但是...與HTTPS相比,設置相當麻煩,特別是在Windows上。Mercurial - HTTPS或SSH?

對於那些你們誰經常使用這兩個大項目......

  1. 是性能增益值得建立公共/私有密鑰對每個用戶, 和處理其他挑剔 的頭痛配置問題?
  2. 甚至有 明顯的性能增益?我在 項目中沒有看到一個。
  3. SSH更安全嗎?
  4. 你會強制執行一個使用其中一個 的策略,還是讓每個 開發人員選擇?

回答

7

是的,對於非常大的存儲庫,建議您使用SSH作爲Mercurial進行大型回購。 Mercurial能夠壓縮爲ssh和https發送的數據,因此您可以更快地推送和拉取數據。另外,默認情況下,Mercurial在通過SSH發送或檢索數據時不使用壓縮。您需要通過配置啓用它。

有兩種方法可以做到這一點:

  1. 告訴水銀其中SSH命令運行
  2. 在你的〜/ .ssh/config文件中指定壓縮

In.hgrc

# Use compression 
ssh = ssh -C 

要在SSH配置文件中指定它,請編輯〜/ .ssh/config

所有說,HTTPS設置很容易。如果你有它,只要使用它,除非你要寫巨型框架。

+0

看起來像HTTPS會給我我需要的一切(相對較小的)項目......性能,易用性和安全性。謝謝。 – 2010-10-01 18:31:41

+1

需要注意的是,該項目在.hgrc的[ui]部分進行。 – 2014-09-01 21:50:24

4

要麼工作得很好;去任何更容易的事情。

HTTPS在加密之前也會進行壓縮,所以這不是什麼問題。我所看到的唯一真正的區別是,克隆可以通過HTTP終止巨大的回購,但人們總是可以重新嘗試。

我個人喜歡使用https作爲只讀設置,以便人們可以查看/瀏覽/克隆,然後使用ssh進行所有寫入,並允許從ssh進行克隆/拉取。

許多人開始使用ssh訪問,因爲他們已經擁有UNIX用戶帳戶,因此不需要其他設置。

如果你已經有https爲你工作,只需堅持下去。

相關問題