2010-02-05 63 views
5

我们在本地使用Subversion,并且我们正在开发一个项目,该项目使用Github上托管的Fluent NHibernate分支。配置(或模仿)svn:externals将Github中的代码包含在svn托管的项目中

我想建立一个单一的svn checkout来检索构建项目所需的所有东西,但是保持从github获取HEAD更新的能力。

有什么办法可以从Git仓库中提取代码,就好像它是svn:external dependency?我可以只检查.git文件夹到我们的Subversion版本库中,只需在需要时运行git fetch,然后svn提交结果?

+0

未能进行SVN供应商分支背后的方法用于这个? http://svnbook.red-bean.com/en/1.1/ch07s05.html – 2010-02-05 11:25:11

回答

6

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

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

作品。所以请使用您的网址svn:externals

+0

怎么样GitHub的特定标签/分支? – farinspace 2011-09-26 16:19:23

+0

+1。另外,GitHub更新了他们的svn支持,所以我更新了URL。 https://github.com/blog/966-improved-subversion-client-support – orip 2012-01-05 11:10:19

+1

@farinspace查看新的URL:尝试添加'/ branches/FOO'或'/ tags/BAR' – orip 2012-01-05 11:11:34

0
  • 具体承诺:您需要使用SHA1哈希找到从Git仓库适当的修订版本号:

    $ git svn find-rev <sha1> 
    

    接下来,使用peg revision syntax在你的svn版本号:外部组件定义。

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

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

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