Ganchos para git-svn

¿Puedo establecer ganchos para "jalar" / "empujar" desde / a un repository administrado por git-svn ?

La situación es que tengo un host de proyecto en Google Code y uso git para administrar la copy de trabajo local. Quiero establecer algunos enlaces para que cuando ingrese / salga datos desde / hacia el repository SVN con git svn fetch y git svn dcommit , pueda hacer algunas modificaciones al commit. Como no albergo el repository SVN, no puedo establecer ganchos en el lado del server.

¿Hay algún gancho que pueda usar? ¿O hay una manera de "marcar" una twig ordinaria, de modo que git pull y git push en esa twig registrarán su input / salida desde / hacia un repository SVN, por lo tanto, podrían utilizarse los ganchos de git normales?

Gracias por adelantado.

Como lo ilustra este hilo , puede tener ganchos en el lado de Subversion que realmente pueden rechazar su git svn dcommit function de algunos criterios.

Pero si necesita ganchos git en el lado Git, recomendaría configurar un repository Git desnudo intermedio (desnudo para facilitar el empuje / extracción).
En ese repository desnudo, puede tener cualquier gancho que necesite, como se muestra en " ¿cómo deployment múltiples twigs en diferentes directorys a través de git push? " (No sobre svn sino solo aquí para detallar una configuration similar de un repository adicional)

  • si el repo intermedio valida tu push, podría desencadenar el git svn dcommit .
  • también puede, en una request de git fetch , activar una git svn fetch y validarla, antes de permitir que su propia git fetch avance.

(2 años después)

David Souther propone una solución en su blog (abril de 2012)

La solución que tengo es tener un repository con cabezas divididas. La mayoría de las veces, el repository intermedio tendrá un directory de trabajo vacío. Cuando ocurre un empujón, verificará el maestro, verificará la construcción y presionará svn antes de volver a la twig vacía.

Vamos a establecer un repository intermedio de git con dos twigs.

  • maestro todavía señalará el repository SVN,
  • y la nueva stage sucursal nos permitirá mantener el directory de trabajo limpio y sincronizado con los cambios posteriores.

Mira su esencia .

https://github.com/hkjels/.dotfiles/blob/master/zsh/git-svn.zsh

Si usa zsh, creo que este es un buen compañero para git-svn. Simplemente ponga sus ganchos en .git / hooks y prefija el command con svn-.

Por ejemplo, ".git / hooks / post-svn-rebase"

La secuencia de commands también permite el uso de alias

Hay un asistente remoto git-remote-cvs en process; presumiblemente alguien hará lo mismo por svn. Los ganchos normales para operaciones remotas deben invocarse antes y después de llamar a estos ayudantes.