我可以将Mercurial用于多个项目(与SVN大致相同)吗?

时间:2010-07-19 15:31:43

标签: svn mercurial

我有一个私有的SVN存储库,我用于我的所有项目。它会定期备份,我希望能够通过网络浏览它,当我需要一小段代码时。

现在,我想转向更现代的源代码控制平台(比如Git或Mercurial),但我也喜欢将我的所有项目放在一个地方。

有没有办法在Mercurial的同一位置存储多个存储库

像个人Github之类的东西?

或者,我应该继续使用SVN作为后备存储,并使用Mercurial来推送吗?

5 个答案:

答案 0 :(得分:2)

Mercurial和Git通常面向每个项目的1个存储库模型。但是,您仍然可以将一堆存储库全部组合在一个目录中的子目录中,实际上将它们放在同一个位置,并通过Web服务器提供整个顶级目录。

答案 1 :(得分:2)

简短的回答是否定的,DVCS回购并未真正设置为与多个项目一起使用。

Should I use more than one repository?上查看我在Kiln Stack Exchange上的答案,了解长版本。

如果这只是您的个人代码,而您并未真正与其他人合作,则可以使用“学生和初创版”免费将它们放在Kiln(由Mercurial支持)上。 (完全披露:我是窑的开发者。)BitBucket也是一个不错的选择。

答案 2 :(得分:2)

作为替代方案,您可以使用hg-app http://hg.python-works.com它完全用挂架写的hgwebdir替换。

  • 拥有自己的中间件来处理mercurial协议请求每个请求都可以被记录和验证+线程性能不太可能hgweb
  • 每个项目的完全权限读/写/管理员访问即使在mercurial请求
  • mako模板让你能够提升应用程序的外观和感觉。
  • 将所有由pygments着色的注释和源代码区分开来。
  • mercurial branch graph和yui-flot powered graphs
  • 用于执行用户/权限管理以及存储库管理的管理界面。
  • mercurial web的其他设置,(可从管理面板编辑的钩子!)也管理路径,存档,远程消息
  • 备份脚本可以备份整个应用并通过scp发送到所需位置
  • 在内置数据库中设置项目描述和信息,以实现简单的非文件系统操作
  • 存储库代码的完整搜索文本
  • 为推送/回购管理添加了无效的缓存,以获得高性能和始终最新的数据。
  • rss / atom feeds,gravatar support
  • 基于pylons 1.0 / sqlalchemy 0.6

答案 3 :(得分:1)

是和否。请参阅hgweb.cgi文件。

以下是网站上Dreamwidth project with multiple repos的链接(请注意,这不是默认格式,但它是我能想到的唯一一个。

哦 - 原来Debian使用hg并且面向网络的cgi - http://hg.debian.org/hg/

hgweb的默认设置将为您提供 - 所有存储库 - 版本树,提交日志,推/拉功能。

答案 4 :(得分:1)

您可以使用clone-to-remote在ssh上创建新的远程存储库,如下所示:

hg init
hg clone ssh://remote//path/to/repos

如果你有hgweb设置,你可以浏览并通过http推送。

wrote a cheesy little script显示如果ssh是可撤销的,通过http启用远程创建是多么容易,但如果没有一些新的配置或软件,你会发现你无法在没有shell的情况下创建新的远程仓库访问某种。