Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对hg存储库的只读svn访问_Svn_Mercurial - Fatal编程技术网

对hg存储库的只读svn访问

对hg存储库的只读svn访问,svn,mercurial,Svn,Mercurial,Hg很好,但是,我们(开发团队)确实缺少一些Svn特性。最重要的是: 能够使用“svn外部”将(部分)项目提取到其他项目的子目录中,以及 只能签出存储库的子目录(主要与第一期结合使用) 这是两个相当紧迫的问题,而Hg优于Svn的好处似乎越来越适合拥有这些特性。这是因为我喜欢适合我们(已建立且成功的)工作流的工具,而不是将我们的工作流更改为工具的范例 因此,一个想法是维护hg存储库的只读svn存储库克隆。在谷歌搜索了很多之后,我发现bitbucket实际上正在尝试这样的东西: (而且似乎效果

Hg很好,但是,我们(开发团队)确实缺少一些Svn特性。最重要的是:

  • 能够使用“svn外部”将(部分)项目提取到其他项目的子目录中,以及
  • 只能签出存储库的子目录(主要与第一期结合使用)
这是两个相当紧迫的问题,而Hg优于Svn的好处似乎越来越适合拥有这些特性。这是因为我喜欢适合我们(已建立且成功的)工作流的工具,而不是将我们的工作流更改为工具的范例

因此,一个想法是维护hg存储库的只读svn存储库克隆。在谷歌搜索了很多之后,我发现bitbucket实际上正在尝试这样的东西:

(而且似乎效果不太好)

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

最重要的存储库目前托管在SourceForge上。如果BitBucket中的这个功能能够正常工作,我不介意切换主机。但是,我不想维护自己的服务器(我已经遇到了足够多的问题)

因此,我的问题是:

有人知道通过Subversion访问托管Hg存储库的有效解决方案吗

不幸的是,如果不是这样,我们实际上可能会迁移回svn

  • 好了,没有这样的(工作)桥梁存在——hg和svn之间的核心存在很多架构差异,这使得“任务不可能完成”(从我的观点来看)
  • 您可以考虑手工制作的桥梁,用于从Mercurial镜像到Subversion(主要取决于您的数据),这必须

    • hg export
      tip changeset(可能在hook中)到补丁文件(尝试其他选项,我不知道,这可能有用)
    • svn补丁
      您的WC使用上述点的补丁
  • 从另一方面来说,我会建议在Mercurial中进行阅读、研究、检查和评估(但我会建议从一开始就使用,这是为了更好地阅读而创建的)


    通过这种方式,您不必更改工作流,只需在后台使用存储库结构:而不是为每个项目使用大型整体回购,而是使用一组较小的独立回购,这些回购(精简)“superrepo”组合到项目的存储库中(subrepos将提供模拟/某种程度上/来自SVN world的稀疏签出和外部数据)

    感谢您的回答。我希望这样一个手工搭建的桥梁已经存在。Subrepositories(或GuestRepos)似乎是一种可能性,但是,我不确定现在拆分现有回购是否可行。是否有子存储库方面的经验?@3of4-“有子存储库方面的经验吗?”简言之,它是有效的,但不要期望和外部有100%的相似性和外部透明性:有些命令需要为subrepo显式地使用-s选项。而且guestrepo比vanilla subrepo更接近外部,谢谢!我会研究它。