我试图在我的一个非常旧的 ubuntu 服务器(Ubuntu 10.04.4)的帐户中安装 hg。它似乎在本地工作,但我无法通过 ssh 克隆存储库。
$ hg clone ssh://user@server//home/user/path
给我一个“.hg not found”错误。
然而,
$ ssh user@server 'ls /home/user/path/.hg'
效果很好。
会不会是端口的问题?谢谢你的帮助 !
已经有一段时间了,所以这个问题可以解决并且没有答案。
无论如何,当我按照Per-user install guide安装 Mercurial 时,我遇到了同样的问题。当我将其重新安装为系统范围的安装时,问题就解决了。
如果你在某个非标准的地方有 hg,例如 ~/bin/hg 只需告诉 mercurial 在哪里可以找到它 hg clone ssh://you@remote/dir_to_clone --remotecmd bin/hg
如果您运行的是安装了系统范围的 mercurial 的旧发行版(如 RHEL),但您在本地从主目录运行了更多最新版本,则可能会发生这种情况。或者您可能无法在远程机器上安装系统范围的软件。
给 hg --verbose 标志以查看它在远程计算机上运行的精确命令,确保它使用与用于创建远程 repo 的 hg 实例相同的 hg 实例。
老问题,但我来这里是为了寻找答案,所以现在我已经解决了,不妨分享一下。
还可以尝试 Hal 提到的 --verbose 选项。就我而言,这表明问题是路径前没有足够的“/”字符。
失败的:
hg clone --verbose ssh://user@host/home/user/QFDC QFDC
running ssh user@host "hg -R home/user/QFDC serve --stdio"
remote: abort: There is no Mercurial repository here (.hg not found)!
abort: no suitable response from remote hg!
作品 - 注意双斜杠(//
):
hg clone --verbose ssh://user@host//home/user/QFDC QFDC
running ssh user@host "hg -R /home/user/QFDC serve --stdio"
requesting all changes
adding changesets
...
这继续喷出很多东西,所以-R
一旦你开始工作,你可能想放弃它。
只要您可以通过 ssh 连接到远程,就不应该是端口问题 - 以下“乱序”设置存在相同问题:
解决方案: