我有一个私有的SVN存储库,我用于我的所有项目。它会定期备份,我希望能够通过网络浏览它,当我需要一小段代码时。
现在,我想转向更现代的源代码控制平台(比如Git或Mercurial),但我也喜欢将我的所有项目放在一个地方。
有没有办法在Mercurial的同一位置存储多个存储库?
像个人Github之类的东西?
或者,我应该继续使用SVN作为后备存储,并使用Mercurial来推送吗?
答案 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替换。
答案 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的情况下创建新的远程仓库访问某种。