我可以使用 hgweb.cgi 通过 http:// 成功访问存储库:
$ hg clone http://mydomain.com/scgi-bin/hgweb.cgi/myrepo
我还可以使用密码成功 ssh 进入 mydomain.com。
$ ssh myname@mydomain.com
myname@mydomain.com's password: xxxxxx
Last login: Sat Jun 9 .....
myname@mydomain.com [~]# ls public_html/scgi-bin
./ ../ hgweb.cgi*, hgweb.config
但是我无法推断如何通过 SSH 提供存储库。例如,这不起作用:
$ hg clone ssh://myname@mydomain.com/public_html/scgi-bin/hgweb.cgi/myrepo
myname@mydomain.com's password: xxxxx
remote: stdin: is not a tty
remote: bash: hg: command not found
abort: no suitable response from remote hg!
我的结论是,与 http:// 不同,ssh:// 不知道如何运行 cgi 脚本,这是正确的吗?有针对这个的解决方法吗?
(顺便说一句:这是在共享主机上,http 的根目录是 public_html/,ssh 的根目录是上一个目录。)