Mercurial:remote:abort:这里没有Mercurial存储库(找不到.hg)!

Joy*_*Joy 17 ssh mercurial

所有,

我已经长时间搜索这个问题并尝试了不同的方法.

我想通过SSH在服务器上维护我的代码.但当我运行这个:

sudo hg clone -v ssh://carl@hostname//home/carl/Java/Projects/peta/
Run Code Online (Sandbox Code Playgroud)

Mercurial一直告诉我remote: abort: There is no Mercurial repository here (.hg not found)!.有些文章说路径应该是正确的,那里应该有一个.hg目录.但我已经多次检查了一下,我确信.hg在正确的位置有一个文件夹.

我也试过了

hg --config ui.remotecmd=/usr/bin/hg clone ssh://carl@hostname//home/carl/Java/Projects/peta/
Run Code Online (Sandbox Code Playgroud)

但它也失败了.可能还有什么其他问题?谢谢.


解决了

我终于解决了这个问题.以前,我在本地计算机上创建一个存储库,并将所有文件(包括.hg)scp 到服务器上.我首先尝试删除.hg目录,然后通过ssh(hg init)在服务器上创建一个repo .然后hg clone工作!

Laz*_*ger 30

从中提取 hg help urls

关于在Mercurial中使用SSH的一些注意事项:

  • SSH需要目标计算机上的可访问shell帐户以及远程路径中的hg副本或使用remotecmd指定.
  • path默认情况下相对于远程用户的主目录.在路径的开头使用额外的斜杠来指定绝对路径:

    SSH://example.com//tmp/repository

这意味着,至少,你不能使用相同的URI,改变只单/双斜线它是:至少有一条路径将是不存在的.

引用和错误消息的后果:您必须调试(使用任何ssh-tool)并找到所需目录的正确路径.您可以:

  • 使用scp(fe)并从已知位置复制已知文件
  • SSH进入交互会话的远程主机,并验证路径(两者都是?)手,即:SSH ...,CD ......,PWD,验证PWD的输出
  • ......任何其他调试器

当您在登录后获得良好路径时,您必须检查下一个故障点 - .hg目录权限

在验证这些检查点后,您将获得克隆和一些奖励形式的理解"之前发生了什么"

HTH