【问题标题】:Set up a mercurial server on ubuntu在 ubuntu 上设置一个 mercurial 服务器
【发布时间】:2012-01-14 18:17:47
【问题描述】:

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

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

【问题讨论】:

  • 应该可能是服务器故障而不是 Stackoverflow,但它与编程相关(有点)。该死的灰色地带!

标签: ubuntu mercurial ssh


【解决方案1】:

您可以通过多种方式在服务器上发布 Mercurial 存储库。您可以在专门的 wiki 页面上找到详细信息:Publishing Mercurial Repositories

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

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

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

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

还要注意主机名后面的双 /,这是完全正常的,您必须将它们都放在。第一个是“终止”主机名部分,第二个是指示路径从远程文件系统的根目录开始。

如果您想将访问权限授予其他人,请务必查看How To Handle Multiple Committers 以正确配置访问权限。

【讨论】:

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

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

然后确定命令

$ ssh server hg version 

有效。然后在你的主目录中创建一个名为 test 的存储库并尝试使用

克隆它
$ hg clone ssh://server/test

当基础工作正常时,您可以设置 SSH 密钥,krtek 链接到的 wiki 页面将对此有所帮助。

【讨论】:

  • 哦,是的,有时这个名字会产生误导。 “mercurial-server”听起来像是服务器的东西。谢谢。
猜你喜欢
  • 2011-03-17
  • 2011-01-31
  • 2021-08-05
  • 1970-01-01
  • 2018-07-26
  • 2021-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多