2013-04-01 83 views
3

Hg很好,但是,我们(开发团队)确实缺少一些Svn特性。最重要的是:只读svn访问hg存储库

  • 能够使用“SVN的外部”来获取(部分)项目到其它项目中的子目录,并
  • 能够只签出库的子目录(主要是与组合第一个问题)。

这些是两个相当紧迫的问题,而汞对Svn的好处似乎越来越多,是很好的功能。这是因为我喜欢使用适合我们(已建立和成功)的工作流的工具,而不是将工作流改为工具的范例。

所以,一个想法是维护我们的hg仓库的只读svn仓库克隆。多googleing后,我发现,到位桶实际上是想是这样的:

https://confluence.atlassian.com/display/BITBUCKET/Using+Subversion+to+Access+a+Bitbucket+Repository

(和看来,它并不能很好地工作)。

我对通过svn提交存储库不感兴趣,也不需要通过svn提供完整的历史记录。我只需要提供默认提示。

最重要的存储库当前托管在SourceForge上。如果BitBucket中的这个特性能够工作,我不会介意切换托管服务器。但是,我不想维护我自己的服务器(我已经有足够的问题了)。

因此,我的问题是:

有谁知道一个可行的解决方案通过颠覆访问托管汞库的?

可悲的是,如果没有,我们可能实际上会迁移回svn。

回答

1
  1. 据我所知,没有这样的(工作)桥梁存在 - 有很多的Hg和SVN之间的核心体系结构的差异,这使得“不可能的任务”(从我的POV)
  2. 你可以考虑一下手工制作的桥从水银镜像到Subversion(取决于从主要数据),这不得不

    • hg export尖变更(可能是钩),以补丁文件(实验提供了更多选择,我没有想法,这可能是有用的)
    • svn patch从上述观点

从另一个侧面补丁你的WC,我会建议阅读,学习,检查和评估水银Subrepositories(但我会建议使用从开始GuestRepo extension,它是为了avoid some shortcomings in Subrepos而创建的)。

这种方式你不必改变工作流程,而只需要仓库底下的仓库结构:而不是为每个项目使用一个较小的独立仓库,而使用大的单体仓库,哪个(超薄)“superrepo”项目的存储库(和subrepos将提供仿真/ 到一定程度的 /从SVN世界稀疏结帐和外部)

+0

谢谢你的答案。我希望这种手工制作的桥梁已经存在。子仓库(或GuestRepos)似乎是一种可能性,但是,我不确定现在是否可以打破现有的回购协议。任何有关子库的经验? – Knowleech

+0

@ 3of4 - “有关子库的任何经验?”简而言之 - 它可行,但不要期望与外部和外部透明度有100%的相似性:有些命令需要明确地为subrepo选择-s选项。而且guestrepo *比*更接近外部,比香草subrepo –

+0

谢谢!我会仔细看看的。 – Knowleech