Mercurial:远程:中止:这里没有 Mercurial 存储库(未找到 .hg)!

2024-02-21

all,

我已经寻找这个问题很长时间并尝试了不同的方法。

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

sudo hg clone -v ssh://carl@hostname//home/carl/Java/Projects/peta/

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/

但它也失败了。还可能是什么问题?谢谢。


Solved

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


提取自hg help urls

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

  • SSH 需要目标计算机上有一个可访问的 shell 帐户,并且 远程路径中的 hg 副本或使用 remotecmd 指定。
  • 默认情况下,路径相对于远程用户的主目录。使用 在路径开头添加额外的斜杠以指定绝对路径:

    ssh://example.com//tmp/repository

这至少意味着不能使用相同的 URI并仅更改一/两个斜杠:至少一条路径将不存在。

引用和错误消息的后果:您must调试(使用任何 ssh 工具)并找到所需目录的正确路径。你可以:

  • 使用 scp (f.e) 并从已知位置复制已知文件
  • 在交互式会话中通过 SSH 连接到远程主机并手动验证路径(两者?),即: ssh ...、cd ...、pwd、验证 pwd 的输出
  • ...任何其他调试器

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

验证这些检查点后,您将获得克隆并以了解“之前发生了什么”的形式获得一些奖励

HTH

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mercurial:远程:中止:这里没有 Mercurial 存储库(未找到 .hg)! 的相关文章

随机推荐