Клонирование чтения-записи использование репозитория GitHub TortoiseHg

Я пытаюсь клонировать свое персональное ветвление на GitHub с помощью git+ssh протокола с TortoiseHg. Это дает мне довольно странную ошибку. Вот команда

hg clone git+ssh://git@github.com:myusername/thefork.git

Это - после того, как я установил модуль hg-мерзавца, и он работает просто великолепно для клонирования использования git://синтаксис. Но я полагаю, что это испытывает затруднения из-за ssh. Ошибка, которую я получаю, является этим.

importing Hg objects into Git
[Error 2] The system cannot find the file specified

Я попытался добавить вручную команду ssh в файл mercurial.ini как это

[ui]
username = email@address.com
ssh="C:\Program Files\TortoiseHg\TortoisePlink.exe" -ssh -2 -i "C:\Source\SSHPrivateKey.ppk"

Но я все еще получаю ту же ошибку. Какие-либо идеи?

Обновление 1

Если я выполняю ту же команду от оболочки Bash Мерзавца, она работает просто великолепно. Я получаю это.

importing Hg objects into Git
Counting objects: 1559, done.
Compressing objects: 100% (586/586), done.
Total 1559 (delta 960), reused 1534 (delta 947)
importing Git objects into Hg
at:  0/86
updating to branch default
219 files updated, 0 files merged, 0 files removed, 0 files unresolved

Я предполагаю, что это - потому что это может найти ssh.exe, и мой ключ уже импортируется. Я могу добавить путь ssh.exe к пути командных строк окон, и затем вместо предыдущей ошибки я получаю это.

importing Hg objects into Git
Permission denied (publickey).
abort: the remote end hung up unexpectedly

Кажется, что это ищет именно ssh.exe eventhough, я указал альтернативу ssh путь в mercurial.ini. Но мое предположение здесь - то, что та конфигурация только для ssh, включил подвижный сервер и не относится к плагину hg-мерзавца.

14
задан Nathan Palmer 4 April 2010 в 14:03
поделиться

2 ответа

Я нашел способ обойти это, но он довольно хакерский. Я заметил, что ProcessMonitor показывает, что он ищет ssh.exe в нескольких разных путях, поэтому я скопировал TortoisePlink.exe в папку TortoiseHg и назвал его ssh.exe.

copy "C:\Program Files\TortoiseHg\TortoisePlink.exe" "C:\Program Files\TortoiseHg\ssh.exe"

Даже с этим изменением аутентификация по-прежнему не пройдёт. Вы получите всплывающее окно и это.

importing Hg objects into Git
abort: the remote end hung up unexpectedly

Итак, вам нужно получить pageant.exe, который поставляется с основной установкой PuTTy . Запустите это и добавьте к нему свой ключ. Затем снова запустите команду clone, и она должна пройти проверку подлинности.

8
ответ дан 1 December 2019 в 15:01
поделиться

Я использую plink.exe и pageant.exe вместо TortoisePlink.exe. «pageant.exe» автоматически предоставляет парольную фразу, когда она требуется «plink.exe».

0
ответ дан 1 December 2019 в 15:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: