2016-05-30 2 views
0

Я могу клонировать мой проект из ртутного хранилища через SSH-соединение.Нельзя клонировать ртутный сервер с http-адреса

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 

Я могу получить доступ к этому URL-адресу HTTP из веб-браузера, но я не могу клонировать с терминала и AndroidStudio. Могу ли я узнать причину этой проблемы и как ее решить? Благодарю.

ответ

1

Как вы обслуживаете ваш репозиторий с сервера? Похоже, вы пытаетесь получить доступ к нему через обычный сервис Apache, который не будет работать Just. Сервер должен иметь возможность отвечать на запросы, зависящие от мерки (например, getbundle в вашем журнале), что требует некоторой настройки от вас.

Самый простой способ обслуживания репо через HTTP: используйте SSH для входа на ваш сервер, cd для вашего репо и введите hg serve. Этого достаточно, чтобы клонировать через HTTP, хотя вы, вероятно, не хотите, чтобы он работал в долгосрочной перспективе, и он даст вам доступ только для чтения. Дополнительную функциональность см. В разделе Serving over HTTP using CGI в книге Mercurial. Это не похоже на кусок пирога, поэтому мой совет должен был найти другой способ выполнить вашу работу.

Книга Mercurial подробно обсуждает ваши варианты в this chapter.

+0

Спасибо за ваш ответ. Я нашел решение уже, это из-за того, что настройки брандмауэра Office блокируют эту активность. Поэтому я не могу клонировать проект через http-соединение. Благодарю. –