将Mercurial发布到公共环境

时间:2012-05-09 14:11:22

标签: mercurial workflow

基本上我是小型团队环境中使用mercurial的新手。我正在寻找一种方法(如果有必要,可以将第三方发布我的更改集/修订版发布到公共登台和公共实时服务器。

目前我已在我们的本地ubuntu服务器上设置,使用通配符DNS,一个包含文件夹的目录,每个文件夹包含一个项目。在文件夹里面我创建了另一个名为“repo”的文件夹,它存储了我网站的本地干净版本。然后我从该本地文件夹克隆到自定义文件夹,完成我的工作,并将其推回到前面提到的“repo”文件夹中。

接下来,“repo”文件夹连接到第三方网站bitbucket。那就是我可以在网站外工作。

我想弄清楚的是,如果有开源或者允许我在Web界面中使用的东西,请参阅我的修订版并选择将其发布到2个服务器位置之一。我知道beanstalk可以做到,但我真的很喜欢bitbucket而且它具有成本效益。我有大约15-25个不同的存储库。

我的过程太多了吗?如何才能使此过程尽可能最有效。

1 个答案:

答案 0 :(得分:0)

你在使用hgweb吗?从你的描述中不清楚你是谁,你当然应该这样。

除此之外,从中央回购克隆到本地工作克隆,修改,提交和推动bash到中央回购声音听起来很正常。

为什么要使用网络界面从您的中央私人仓库推送到您的公共网站?为什么不从你的工作克隆到公共站点呢?

例如,在我的博客存储库中的本地计算机(根本不是Web服务器)上,我在.hg/hgrc文件中有这个:

[paths]
default = ssh://ry4an.org/projects/unblog
publish = https://ry4an.org/hg/unblog

如果我hg pull我在我的主目录中的ry4an.org服务器上的私人仓库中进行了更改。然后我编辑,提交,hg push再次进入我的远程服务器上的私人仓库。当我想要实际发布博客条目时,我会hg push publish将变更集从我的本地工作存储库推送到公共存储库(http://ry4an.org/hg/unblog这是http://ry4an.org/unblog的实时内容)

理论上我可以使用某种Web界面将变更集从ssh://ry4an.org/projects/unblog移动到https://ry4an.org/hg/unblog,但是从我的本地工作克隆发送它们会给我更好的工具({ {1}},hg incominghg outgoing等。)

我是否从根本上误解了你的目标或者是否有帮助?