我可以成功地使用hgweb.cgi访问http://上的仓库:
$ hg clone http://mydomain.com/scgi-bin/hgweb.cgi/myrepo
我可以使用密码成功远程登录到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的根目录是向上的一个目录。)
hg clone --verbose
,它将会显示类似于running ssh myname@mydomain.com "hg -R ... serve --stdio"
的内容,这是提示出现问题的重要线索。 - msw