问题 在ubuntu上设置一个mercurial服务器


我是善变的新手。这里的问题是基本的,但谷歌搜索后我很困惑。

我正在单独编程,我在本地机器上安装了我的mercurial(ubuntu 11.04),它运行良好。现在我想在服务器上保留一个存储库,这样我就可以随时推送和拉动。我想使用SSH而不想使用任何Web服务器。可能吗?我在服务器上安装了mercurial-server,但下一步是什么?如何设置远程存储库以及如何推送和拉取代码?确实需要帮助。谢谢。


9708
2017-12-07 07:40


起源

这个 应该 可能是服务器故障而不是Stackoverflow,但它与编程相关(有点)。该死的灰色区域! - Jason Down


答案:


您可以通过各种方式在服务器上发布Mercurial存储库。您可以在专用维基页面上找到详细信息: 发布Mercurial存储库

在您的情况下,由于您只想拥有SSH访问权限,因此以下步骤应该足够了:

  1. 将您的实际本地存储库复制到服务器上的某个位置(包括您的 .hg 目录)。您可以使用 scp 例如。
  2. 将复制的存储库克隆回本地计算机:

    hg clone ssh://myhostname.com//path/to/directory
    
  3. 您现在可以从服务器推/拉。

显然,您需要SSH访问您的服务器。

另请注意双人间 / 在主机名之后,这是完全正常的,你必须把它们都放在一起。第一个是“终止”主机名部分,第二个是指示路径从远程文件系统的根开始。

如果您想要访问其他人,请务必查看 如何处理多个提交者 正确配置访问权限。


12
2017-12-07 13:39



是吧...我更新答案,谢谢:) - krtek
嗨,krtek。我尝试你的方法,但没有成功。然后我尝试以下步骤:1。复制服务器上的所有项目文件; 2. SSH登录服务器,使用“hg init”创建repo; 3.“hg clone”到本地机器。我不知道问题是特定于服务器还是常见问题。如果有人知道原因,请告诉我。谢谢。 - Joy
呃,忘了提一下:按照我上次评论中的步骤消除错误:“remote:abort:这里没有Mercurial存储库(找不到.hg)!” - Joy


你不需要 mercurial-server 包。它是一个 第三方 用于管理Mercurial存储库的工具。您只需要在服务器上使用Mercurial和SSH。

然后确保命令

$ ssh server hg version 

作品。然后在主目录中创建一个名为test的存储库,并尝试使用它进行克隆

$ hg clone ssh://server/test

您可以在基础工作时设置SSH密钥,链接到的wiki页面将有助于此。


3
2017-12-07 18:08



哦,yuh,有时这个名字有误导性。 “mercurial-server”听起来像是服务器的东西。谢谢。 - Joy