【问题标题】:Mercurial via ssh, no repository foundMercurial 通过 ssh,找不到存储库
【发布时间】:2012-05-30 08:39:10
【问题描述】:

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

效果很好。

会不会是端口的问题? 感谢您的帮助!

【问题讨论】:

  • 尝试添加-v--debug以获取更多信息。
  • 这没什么用 :( running ssh user@server 'hg -R /home/user/path serve --stdio' sending hello command sending between command remote: abort : There is no Mercurial repository here (.hg not found) ! abort : no suitable response from remote hg !
  • 好吧,你可以先ssh user@server,然后再cd /home/user/path; hg summary。服务器上的 repo 真的有效吗? hg 安装好了吗?
  • hg summary 效果很好。我可以从服务器本地的其他目录中hg clone /home/user/path。 hg 版本在服务器上是 1.4.3,在我的机器上是 2.1.2。谢谢!
  • 存在较大的版本差异,但我不认为这是一个问题。我很困惑!

标签: ubuntu mercurial ssh


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    只要您可以通过 ssh 进入远程,就不应该是端口问题 - 与以下“无序”设置有相同的问题:

    • 带有 mercurial 的虚拟环境
    • bashrc 别名 hg=/path/to/virtenv/hg
    • 最初使用 virtenv hg 初始化的存储库
    • 系统范围的 ubuntu 10.04 hg ---> 给出相同的错误,即 .hg not found

    解决方案:

    • 在远程主机上执行以下步骤
    • 备份您的远程存储库和更新
    • 摆脱 virtenv 和路径别名
    • logout & login or 确保 .bashrc 被重新加载和设置
    • 删除 .hg
    • 使用系统 hg 初始化 & 添加 & 提交现有版本
    • 尝试像往常一样拉 - 为我工作

    【讨论】:

      【解决方案3】:

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

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

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

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

      【讨论】:

      • +1 表示 --verbose;我的实际问题是我没有足够的 / 字符,但 --verbose 很明显
      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 2011-05-24
        • 1970-01-01
        • 2012-04-04
        • 2014-11-01
        • 2016-06-04
        • 1970-01-01
        • 2020-10-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多