Клонирование репозитория Mercurial по SSH - PullRequest
61 голосов
/ 13 декабря 2010

У меня возникли трудности с клонированием моего ртутного хранилища по ssh.

Вот что я попробовал:

hg clone ssh://username@username.webfactional.com/path/to/projectname projectname

Это выдает мне эту ошибку:

remote: bash: hg: command not found
abort: no suitable response from remote hg!
*Однако на сервере установлено 1008 * hg.

Я пытался следовать инструкциям на этом сайте .

Ответы [ 6 ]

94 голосов
/ 11 ноября 2011

Вам нужен двойной // после имени хоста, т.е.:

hg clone ssh://username@username.webfactional.com//path/to/projectname projectname
35 голосов
/ 13 декабря 2010

Похоже, hg не на вашем пути. В Mercurial FAQ упоминаются возможные исправления этой проблемы: FAQ / CommonProblems .

Добавьте значение remotecmd в конфигурацию Mercurial, открыв ~/.hgrc (или Mercurial.ini в Windows) на своем клиентском компьютере и добавив следующее:

[ui]
remotecmd = /path/to/hg

где /path/to/hg - это путь к команде hg на удаленном сервере.

Если у вас проблемы с конфигурацией Mercurial, вы можете использовать команду hg showconfig --debug, чтобы получить полный список настроек Mercurial вместе с путем и номером строки файла конфигурации, который определяет каждое значение конфигурации.

4 голосов
/ 13 декабря 2010

Похоже, что mercurial отсутствует в вашем пользователе PATH на удаленном сервере.

2 голосов
/ 07 февраля 2012

На веб-сайте мне пришлось добавить:

export PATH=$PATH:/home/<user>/bin

в .bashrc, чтобы заставить его работать. (также следовал совету remotecmd выше)

0 голосов
/ 20 марта 2018

Вы можете использовать Sourcetree, TortoiseHg, Mercurial из терминала или любого клиента, который вам нравится, для клонирования вашего хранилища Mercurial. Эти инструкции показывают, как клонировать ваш репозиторий с помощью Mercurial из терминала.

  1. В репозитории нажмите + на глобальной боковой панели и выберите Клонировать этот репозиторий в разделе Get to work.
  2. Скопируйте команду клонирования (формат SSH или HTTPS). Если вы используете протокол SSH, убедитесь, что ваш открытый ключ находится в Bitbucket и загружен в локальную систему, в которую вы клонируете.
  3. Из окна терминала перейдите в локальный каталог, в котором вы хотите клонировать свой репозиторий.
  4. Вставьте команду, которую вы скопировали из Bitbucket, например:
    CLONE OVER HTTPS :
    $ hg clone https://username@bitbucket.org/teamsinspace/hg-documentation-tests
    CLONE OVER SSH :
    $ hg clone ssh://hg@bitbucket.org/teamsinspace/hg-documentation-tests
    Если клонирование прошло успешно, на локальном диске появится новый подкаталог.
    Этот каталог имеет то же имя, что и хранилище Bitbucket, которое вы клонировали.
    Клон содержит файлы и метаданные, необходимые Mercurial для сохранения изменений, внесенных в исходные файлы.
0 голосов
/ 17 июня 2013

На сервере введите: nano ~/.bashrc и отредактируйте файл, добавив:

# User specific aliases and functions
export PATH=$PATH:$HOME/packages/mercurial

Предполагается, что ~/packages - это папка, в которой был установлен Mercurial. После редактирования завершите с помощью source ~/.bashrc и попробуйте снова.

Довольно полезным для меня было следующее подробное руководство по установке Mercurial на хостинг-сервере Bluehost.

...