Не удается клонировать репозиторий mercurial (hg) через http

StackOverflow https://stackoverflow.com/questions/814974

  •  03-07-2019
  •  | 
  •  

Вопрос

Я не могу клонировать свой репозиторий через http:

прервать:'http://MYREPO' похоже, это не хранилище hg!

Во-первых, я создал новое репо с помощью hg инициализирует MYREPO с последующим добавлением некоторого файла и фиксацией.

Каталог с моим репозиторием защищен паролем, но из-за этого нет никаких признаков проблемы, я попробовал оба метода клонирования:(на моем локальном компьютере)

клон hg http://MYREPO my_repo ( мой репо )

и

клон hg http://user:password@MYREPO my_repo ( мой репо )

Разрешения для каталога репо следующие:drwxrwxr-x

Я могу клонировать этот самый репозиторий на моем удаленном компьютере (включен тот же репозиторий) без каких-либо проблем.

Что может быть не так?

Это было полезно?

Решение 4

Аргх...Нужно быть осторожным с конфигурацией .htaccess .В моем случае мне нужно было добавить 'hgwebdir.cgi' к пути для клонирования...Но все же спасибо за ответы!

SSH кажется логичным, но почему-то я не мог использовать его с пользователем, отличным от моего локального:

hg clone ssh://MY_REMOTE_USER@MYREPO удаленный:прервать:Здесь нет репозитория Mercurial (.hg не найден)!

Другие советы

Обновить:

Похоже, вы путаете репозиторий и имя хоста

Если запущен "hg serve", "hg clone http://USER@HOST:8000" где хостом может быть IP-адрес вашей машины или имя хоста (введите "hostname" в Linux или попробуйте "ping localhost").Вы можете изменить порт по умолчанию с 8000, передав --port #### в hg serve.

Если вы хотите сделать это через ssh, "hg clone ssh://USER@HOST//PATH/TO/YOUR/REPOSITORY".Предположим, вы создали репозиторий в своем домашнем каталоге под названием MYREPO, тогда вы сделали бы это:"клон hg ssh://USER@HOST /~/MYREPO"

Вы можете клонировать свое репо только через http, если что-то обслуживает это репо через http.Mercurial предоставляет для вас встроенный http-сервер.Запустите "hg serve", находясь внутри вашего репозитория, затем попытайтесь клонировать его из другого места (или другой командной оболочки).Если вам просто нужен локальный клон, вам не нужно использовать http ("hg clone ").

Кроме того, попробуйте "hg help clone" и "hg help serve" для получения подробной информации.

как ни странно, клонирование с помощью ssh требует неинтуитивной дополнительной косой черты.

у меня это работает на хосте с ssh, работающим на порту 43211

hg clone ssh://example.com:43211//repos/myRepo ./myRepo

двойная косая черта после номера порта работает, но одиночная косая черта там приводит к ошибке ".hg не найден"

besszero прав, но почему бы вам не клонировать с помощью SSH, если вы все равно собираетесь использовать имя пользователя и пароль?

hg clone ssh://machine_ip//ваш/репозиторий/местоположение your_repo

Это также безопаснее, если вы не хотите открывать другой порт для http-сервера mercurial и вам не нужны функции hgweb, трафик также зашифрован.Единственный недостаток заключается в том, что вам нужно войти в систему для оформления заказа, но HTTP не работает для отмены изменений, по крайней мере, по моему опыту.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top