通过ssh Mercurial,找不到存储库

时间:2012-05-30 08:39:11

标签: ubuntu mercurial ssh

我已经尝试在一个非常老的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'

效果很好。

这可能是端口问题吗? 谢谢你的帮助!

4 个答案:

答案 0 :(得分:3)

已经有一段时间了,所以这可以解决并且没有答案。

无论如何,我在Per-user installation guide之后安装Mercurial时遇到了同样的问题。当我重新安装它作为系统范围的安装时,问题就解决了。

答案 1 :(得分:1)

不应该是端口问题,只要你可以ssh到遥控器 - 与以下“乱序”设置有相同的问题:

  • virtualenv with mercurial
  • bashrc,别名为hg = / path / to / virtenv / hg
  • 存储库最初使用virtenv hg初始化
  • 系统范围的ubuntu 10.04 hg --->给出相同的错误,即找不到.hg

解决方案:

  • 执行远程主机上的步骤
  • 备份你的远程回购&更新
  • 摆脱了美德&路径别名
  • 退出&登录ore确保重新加载并设置.bashrc
  • 删除.hg
  • init&添加&使用系统hg提交现有版本
  • 试着照常拉 - 为我工作

答案 2 :(得分:1)

如果你有某个非标准的地方,例如〜/ bin / hg告诉mercurial在哪里找到它 hg clone ssh://你@ remote / dir_to_clone --remotecmd bin / hg

如果您运行的是像RHEL这样安装了系统范围的mercurial的旧发行版,但是您可以在家庭目录本地运行更新版本,则可能会发生这种情况。或者您可能无法在远程计算机上安装系统范围的软件。

给hg -verbose标志以查看它在远程计算机上运行的精确命令,确保它使用与用于创建远程仓库的hg实例相同的hg实例。

老问题,但是我来到这里寻找答案,所以不妨分享一下,我已经解决了。

答案 3 :(得分:0)

也可以尝试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