在Windows上的ssh客户端和服务器上的Mercurial

Ben*_*orf 17 windows mercurial

我正在尝试将Mercurial配置为与Windows服务器(freeSSHd)和客户端(包括命令行和TortoiseHG)一起使用.我正在使用所有内容的最新版本......所有这些都是在过去几天内下载的.使用公钥验证,我已经能够连接到服务器,我能够使用plink执行"hg版本"并获得响应,但是当我尝试从ssh服务器克隆存储库时,命令似乎挂.使用-v运行产生:

hg -v clone ssh://<username>@<server>//hg/repositoryA testRepositoryA
running "plink.exe -i "<path to private key file>" <username>@<server> "hg -R /hg/repositoryA serve --stdio""
Run Code Online (Sandbox Code Playgroud)

没有更多的即将到来.直接在服务器上运行hg serve命令会产生一个明显响应的Mercurial服务器,但客户端似乎没有进一步的请求.

在存储库目录中运行"hg serve"并通过http克隆工作完美.

我应该寻找什么来帮助调试这个?是否有客户端(hg和TortoiseHG)没有发送以继续请求流?

附加信息:如果我更改为目标计算机上的无效存储库,则会显示相应的错误,因此看起来远程hg正在运行并正确评估路径.

使用--debug和--traceback运行会导致:

sending hello command
sending between command
Run Code Online (Sandbox Code Playgroud)

它挂在这里,直到我CTRL-C

Traceback (most recent call last):
  File "mercurial\dispatch.pyo", line 46, in _runcatch
  File "mercurial\dispatch.pyo", line 452, in _dispatch
  File "mercurial\dispatch.pyo", line 320, in runcommand
  File "mercurial\dispatch.pyo", line 504, in _runcommand
  File "mercurial\dispatch.pyo", line 457, in checkargs
  File "mercurial\dispatch.pyo", line 451, in <lambda>
  File "mercurial\util.pyo", line 402, in check
  File "mercurial\commands.pyo", line 636, in clone
  File "mercurial\hg.pyo", line 187, in clone
  File "mercurial\hg.pyo", line 63, in repository
  File "mercurial\sshrepo.pyo", line 51, in __init__
  File "mercurial\sshrepo.pyo", line 73, in validate_repo
KeyboardInterrupt
interrupted!
Run Code Online (Sandbox Code Playgroud)

回应Ryan:服务器上似乎没有任何CPU使用或增加内存使用量.它似乎在等待客户端发送请求或类似的东西.

11/19/2009:更多信息:问题肯定在freeSSHd/server方面.使用相同的键集通过ssh连接到bitbucket工作正常.仍在努力.

小智 3

对我有用的解决方案是禁用 SSH 选项卡内的“使用新控制台引擎”选项。另一件事是路径。ssh://ssh_user@SSH_Server_Address:SSH_Port/Win_Drive_Letter:/Path_To_HG_Repository

一个具体的例子:

ssh://programmer@192.168.1.150:5522/D:/Repository/MyProyect/trunk

我目前使用 MercurialHG,而不是 CLI。我希望这有帮助

金泉

解决方案实际上是我从这里得到的