Cómo duplicar un repository SVN de GitHub en un repository SVN alojado en otro lugar

Guión:

Tengo un Git Repo alojado en GitHub: https: //Nerian@github.com/Nerian/JPovray.git

A los que pueden acceder los clientes de SVN en: http://svn.github.com/Nerian/JPovray.git

Y tengo otro server SVN alojado en serveres de la escuela. Quiero que este server sea un espejo del repository en GitHub.

Es un requisito de la escuela utilizar el repository de SVN en la escuela.

Prueba:

#Create the mirror repo svnadmin create dest #Make the hooks always pass echo "#!/bin/sh" > dest/hooks/pre-revprop-change echo "#!/bin/sh" > dest/hooks/start-commit #Make the hooks executable chmod +x dest/hooks/pre-revprop-change dest/hooks/start-commit #Initialize the mirror repo to mirror the github repo svnsync init file://`pwd`/dest http://svn.github.com/Nerian/JPovray.git 

Me da este post:

svnsync: El almacenamiento de la propiedad no regular 'svn: wc: ra_dav: version-url' no está permitido a través de la interfaz del repository, y podría indicar un error en su cliente

 #Start the mirroring process svnsync sync file://`pwd`/dest 

Me da este post:

svnsync: INFORME de ' http://svn.github.com/Nerian/JPovray.git ': 200 OK ( http://svn.github.com )

 #Checkout the mirror repo. svn checkout file://`pwd`/dest client 

Me da el post:

Revisado revisión 0.

Actualmente, hay 6 revisiones en el repository de Github. El pago dice que hay 0. Entonces significa que la synchronization no funcionó. El repository del cliente está vacío, mientras que el repository de Github tiene 2 dos files.

Restricciones:

Es posible ejecutar commands en el repository de SVN en la escuela, solo tengo que contactar al administrador de SVN.

El historial de confirmación del repository de GitHub debe mantenerse. Somos un equipo de 3 miembros y el profesor necesita saber quién cometa qué.

EDITAR:

Me puse en contacto con GitHub al respecto, y me dijeron que no era posible duplicar un repo svn de GitHub porque en realidad no son repos de subversión. Es solo una especie de puente.

Entonces comencé a progtwigr una solución:

https://github.com/Nerian/github_subversion_converter

Esta aplicación de Ruby permitirá la transferencia de confirmaciones de un SVN a otro. Actualmente, desde el 23 de octubre de 2010 hace su trabajo. Pero no conserva el nombre del autor de Commit. Estoy trabajando en eso. Debería ser característica completa en una semana. Para el estado actual, consulte la página de repository.

Pure Git con git-svn puede ser una forma más práctica (para reflection manual):

  • Repo de Github presentado como git-repo
  • SVN repo es solo un control remoto adicional con git-svn