如何为Mercurial最佳地配置中央存储库/多个中央存储库?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何为Mercurial最佳地配置中央存储库/多个中央存储库?相关的知识,希望对你有一定的参考价值。

我是Mercurial的新手,并试图弄清楚它是否可以取代SVN。我工作的每个人都使用了SVN,CVS和VSS(颤抖),所以这可能是一个很大的变化。在阅读了它的合并和分支功能后,我一直很感兴趣,但有一些保留。

我们目前在SVN上,并有一个中央存储库。从我的阅读来看,似乎在使用Mercurial时,所有项目都没有一个中央存储库。注意:我们将每个项目视为单独的逻辑代码集或Visual Studio解决方案。它独立运行。

我们在一个中央SVN存储库中有大约60个单独的项目。在阅读了Mercurial之后,在我看来,我必须为服务器上的每个项目创建60个独立的中央存储库。问题#1:我应该为每个项目创建一个单独的存储库吗?

如果是,那么我担心配置和托管60个独立的中央Mercurial服务器。我开始认为我可以配置一个文件,但似乎每个存储库都必须使用“C:... \ MyRepository.hg \ hgrc”文件(Windows安装)单独配置。它似乎我必须运行60个服务器(> hg服务),我会假设在不同的端口上。问题2:如果问题1的答案是肯定的,那么每个项目应该有一个中央存储库,那么人们如何管理多个多个存储库?

最后,我没有考虑将所有历史记录和更改从一个SVN存储库移动到一堆独立的Mercurial存储库,但是会感谢那些已经完成此操作的人(或者甚至是可能的)的任何评论。

答案

Mercurial支持“中央存储库”就好了,但它按惯例而不是命令执行。

您只需运行一台服务器即可运行所有60个存储库,并且您不会使用hg serve。相反,您从among the publishing options中选择一种生产质量方法。根据您的喜好,您可能会在Apache,nginx或IIS后面运行hgwebdir

一旦运行,您可以在存储库目录中使用hg inithg clone创建新的repsitories。在以前的雇主,我们有五个产品,每个产品都有一个“中央”存储库,每个产品有10到20个克隆用于各种团队和功能,所有产品都在一台服务器上运行。中央回购确定“什么是官方的”,但你会发现即时回购的非官方特征一直涌现。

hg serve是两个开发人员匆忙交出一些变更集,但发布的repos需要更多的脚手架。

另一答案

您将为每个项目创建1个中央仓库。如果我是你,我会考虑通过Kiln主持。它包含了非常好的评论工具和Mercurial周围的网络界面,具有无限的存储库和存储空间。他们负责处理所有令人烦恼的托管和备份。我也强烈推荐Joel's Mercurial tutorial

另一答案

如果你正在寻找自我托管的东西,看看http://rhodecode.org它比纯hgweb更强大。它就像一个小小的bitbucket只是自我托管。

另一答案

以最简单的方式,您将需要60个中央“存储库”,所有这些都可以使用一个内容/ Web服务器来提供。可以将每个存储库视为具有来自服务器容器根目录的路径的目录。

想想bitbucketgithub。它们在一个服务器(或最可能是一个服务器场)下服务数千个存储库,但它们彼此独立,不像SVN,其中所有内容都在一个巨型存储库下并共享修订增量。

以上是关于如何为Mercurial最佳地配置中央存储库/多个中央存储库?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 mercurial 用户创建别名?

为系统文件创建和使用Mercurial存储库

我如何自己为多个用户托管 Mercurial 存储库?

如何为具有共享代码库的多个项目正确设置 git?

Drupal 6:如何为我的 Drupal 项目设置和使用 Mercurial

集中webpack配置多个项目 - 最佳实践?