2016-05-30 41 views
0

我可以通過SSH連接從mercurial存儲庫克隆我的項目。無法從http URL中克隆mercurial服務器

hg clone --debug ssh://[email protected]/mercurial/MyAndroidStudioProject 

但我無法通過HTTP連接克隆這個項目。

hg clone --debug http://192.268.0.4:8888/MyAndroidStudioProject/ 

該進程在此日誌之後掛起。

using http://192.268.0.4:8888/MyAndroidStudioProject/ 
sending capabilities command 
destination directory: MyAndroidStudioProject 
query 1; heads 
sending batch command 
requesting all changes 
sending getbundle command 

我可以從網絡瀏覽器訪問這個HTTP URL,但是我無法從終端和AndroidStudio克隆。我可以知道這個問題的根源,我該如何解決這個問題?謝謝。

回答

1

你如何從服務器提供你的倉庫?聽起來像你可能試圖通過常規的Apache服務來訪問它,這不會正常工作。服務器必須能夠響應特定於mercurial的請求(如日誌中的getbundle),這需要您進行一些設置。

通過HTTP提供回購服務的最簡單方法是:使用SSH登錄到您的服務器,cd到您的回購站並鍵入hg serve。這足以通過HTTP進行克隆,儘管您可能不想讓它長期運行 - 並且它只會爲您提供只讀訪問權限。有關更多功能,請參閱Mercurial書中的部分Serving over HTTP using CGI。這聽起來不是小菜一碟,所以我的建議是尋找另一種完成工作的方式。

Mercurial書在this chapter中詳細討論了您的選項。

+0

感謝您的回答。我已經找到了解決方案,這是因爲辦公室防火牆設置阻止了這個活動。因此,我無法通過http連接克隆項目。謝謝。 –