Я пытаюсь клонировать свою личную вилку на github, используя протокол git + ssh с TortoiseHg. Это дает мне довольно странную ошибку. Вот команда
hg clone git+ssh://[email protected]:myusername/thefork.git
Это после того, как я установил модуль hg-git, и он отлично работает для клонирования с использованием синтаксиса git: //. Но я считаю, что у него проблемы с ssh. Я получаю следующую ошибку.
importing Hg objects into Git
[Error 2] The system cannot find the file specified
Я попытался вручную добавить команду ssh в файл mercurial.ini следующим образом
[ui]
username = [email protected]
ssh="C:\Program Files\TortoiseHg\TortoisePlink.exe" -ssh -2 -i "C:\Source\SSHPrivateKey.ppk"
Но я все равно получаю ту же ошибку. Любые идеи?
Обновление 1
Если я запускаю ту же команду из оболочки Git 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 в путь к командной строке Windows, а затем вместо предыдущей ошибки получаю это.
importing Hg objects into Git
Permission denied (publickey).
abort: the remote end hung up unexpectedly
Кажется, он ищет именно ssh.exe, хотя я указал альтернативный путь ssh в mercurial.ini. Но я предполагаю, что эта конфигурация предназначена только для ртутного сервера с поддержкой ssh и не применяется к плагину hg-git.