Cómo usar un repository de git como svn: external?

SVN ofrece un enlace fuente externo a través de svn:external function svn:external . Y estoy usando un module de un repository de Git. ¿Puedo usar este repository de Git como fuente externa?

Mi module de repository de Git está en Github. Así que la forma específica de Github también es bienvenida.

Github anunció el soporte de SVN. https://github.com/blog/626-announcing-svn-support

Agregué mi repository de Github como un svn:external directamente.

Un repository en Github puede actuar como un repository de Subversion. Vea esta publicación en el blog sobre su soporte SVN mejorado . Parece ser muy lento, pero funciona.

Otra solución para colocar un repository git dentro de un repository SVN sería establecer svn: ignore en el directory del repository nested y usar un Makefile para clonar y actualizar el repository git.

 cd svn-repository svn propset svn:ignore gitdir . 

Luego haga algo como esto en su Makefile u otro sistema de compilation.

 GITREPO=git://github.com/schwern/perl5i.git GITDIR=gitdir all : $(GITDIR) $(GITDIR)/.git : git clone $(GITREPO) $(GITDIR) $(GITDIR) : $(GITDIR)/.git cd $(GITDIR) && git pull 

La primera llamada a make clonará el repository de git. Las llamadas posteriores harán una actualización.

Me gusta esta solución mejor. No depende de que el repository de git esté en Github ni confíe en la emulación. El repository git puede trabajarse como un repository git en lugar de tener que pasar por la emulación, donde los conceptos enfrentados entre git y SVN probablemente causen problemas.

Simplemente busque el tarball o zipball desde GitHub usando esta URL:

 https://github.com/UserName/ProjectName/zipball/master 

O si prefiere tarballs:

 https://github.com/UserName/ProjectName/tarball/master 

Son instantáneas del código, con cremallera.