TortoiseHgでgit+sshプロトコルを使用して、個人用フォークをgithubに複製しようとしています。それは私にかなり奇妙なエラーを与えています。これがコマンドです
hg clone git+ssh://git@github.com: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@address.com
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
mercurial.iniで代替のsshパスを指定しましたが、特にssh.exeを探しているようです。しかし、ここでの私の推測では、その構成はssh対応のMercurialサーバー専用であり、hg-gitプラグインには適用されません。