两个 Mercurial 回购。在远程机器上——一个可以通过 ssh 克隆;另一个,不是
Posted
技术标签:
【中文标题】两个 Mercurial 回购。在远程机器上——一个可以通过 ssh 克隆;另一个,不是【英文标题】:Two Mercurial repos. on remote machine -- one is cloneable via ssh; the other, not 【发布时间】:2020-01-22 03:21:53 【问题描述】:在我的 LAN 上,在远程计算机 people
上,我的主目录中有两个 Mercurial 存储库:Documents 和 stage。需要明确一点:这两个子目录都是 Mercurial 存储库,它们在同一台机器上彼此对等。
当我在另一台机器上运行hg clone ssh://people:3887/Documents
时,存储库会按预期克隆。当我运行hg clone ssh://people:3887/stage
时,响应是:
remote: abort: error: node name or service name not known
abort: no suitable response from remote hg!
这两个存储库有什么不同,即一个可克隆而另一个不可克隆?在本地机器上,作为我 sshing 的同一用户,我可以在任一存储库中运行所有常用的 hg
命令而不会出现问题。我在两个存储库的权限中看不到任何明显的东西,包括.hg/
中的文件,无论如何,我可以以同一用户身份在本地执行所有 Mercurial 操作。
【问题讨论】:
我在主机上试过这个:cp -a stage S1
,然后在远程机器上:hg clone ssh://people:3887/S1
,它成功了。然而,hg clone ssh://people:3887/S1 stage
返回abort: cannot create new http repository,尽管远程机器上还没有这样的文件或目录。 hg clone ssh://192.168.0.3:3887/stage S0
还返回 remote: abort: error: node name or service name not known abort: no proper response from remote hg! 所以看起来姓名stage
.
ssh 服务器是什么操作系统?这像是 Unix 与 Windows 区分大小写的问题吗?
Gentoo Linux。没有。
【参考方案1】:
通过在主机上将 stage 重命名为 Stage 解决了问题。然后可以正常克隆存储库。
【讨论】:
以上是关于两个 Mercurial 回购。在远程机器上——一个可以通过 ssh 克隆;另一个,不是的主要内容,如果未能解决你的问题,请参考以下文章
将 Mercurial 存储库移动到现有 git 存储库的子目录中
Mercurial:从官方 repo 中提取,推送到 man-in-the-middle repo?