配置(或模仿)svn:externals以包含来自svn托管项目的Github中的代码

时间:2010-02-05 11:19:31

标签: git svn github git-svn svn-externals

我们在本地使用Subversion,我们正在开发一个使用Fluent NHibernate的分支的项目,该分支托管在Github上。

我想要它设置,以便单个svn checkout将检索构建项目所需的所有内容,但保持从github获取HEAD更新的能力。

有什么方法可以从Git存储库中提取代码,好像它是一个svn:external依赖项?我可以将.git文件夹检查到我们的Subversion存储库中,并在需要时运行git fetch,然后svn提交结果吗?

2 个答案:

答案 0 :(得分:6)

http://github.com/blog/626-announcing-svn-support

$ svn checkout https://github.com/USER/PROJECT/trunk

的工作原理。因此,请使用该svn:externals的网址。

答案 1 :(得分:0)

  • 特定提交:您需要使用SHA1哈希从git存储库中找到相应的修订号:

    $ git svn find-rev <sha1>
    

    接下来,在您的svn:externals定义中使用peg revision syntax作为修订号。

    https://github.com/<user>/<project>@<revision>
    
  • 特定标记(来自@ orip的评论):

    https://github.com/<user>/<project>/tags/<tag>
    
  • 特定分支(来自@ orip的评论):

    https://github.com/<user>/<project>/branches/<branch>