2011-01-11 25 views
6

¿Hay alguna manera de hacer una comprobación de svn desde un repositorio de git?svn-checkout desde un repositorio de GIT

El problema es que me gustaría tener un repositorio de git almacenado en un servidor y puedo trabajar con Git normalmente, empujando y tirando de los cambios.

Sin embargo, hay desarrolladores que no necesitan realizar cambios en el código, pero deben poder obtener la última instantánea del código fuente y compilarlo en su máquina. A los llamados "desarrolladores" les gustaría usar SVN, ya que es un SCM con el que ya están familiarizados.

Entonces, ¿hay alguna manera de configurar dicho escenario? ¿O es esta la única forma posible de usar un repositorio SVN y trabajar con él usando git-svn si quiero git para mí y SVN para el resto de mis colegas?

Gracias!

+0

Esto sería muy útil, pero, por desgracia, no sé de nada. Solo formas de ir en la otra dirección, como has mencionado. Me pregunto qué se necesitaría para escribir uno. –

Respuesta

-1

Gracias por sus respuestas, svick y Damien! Ambos son buenos, pero como no puedo aceptarlos a los dos, voy a escribir todo en mi propia respuesta.


Así que, básicamente, se podría tener un repositorio git con sólo lectura SVN-acceso a ella. Como dijo Damien,

crea el repositorio oficial de una git, y empujar automáticamente a un repositorio SVN esclavo usando git-svn, ya sea con cron o en un gancho post-commit.

Otra forma de obtener de sólo lectura acceso al código en cualquier repositorio es tener un archivo con la última instantánea del código fuente almacenado en algún lugar de su servidor y disponible para su descarga.


Si hay una necesidad de algunos usuarios realizar cambios en el código, la única manera apropiada para salvarlas sería cometer de nuevo en el repositorio, no importa lo que se utiliza SMC.En este caso, si el usuario que ha realizado un cambio no sabe cómo comprometerse, debe haber un programador (responsable del código fuente) que gustosamente revisará el cambio y lo volverá a comprometer en el repositorio.

4

Si desea consultar un repositorio usando SVN, debe tener un repositorio SVN, como era de esperar. Sin eso, sería difícil hacer un seguimiento de las cosas que no se traducen bien entre SVN y git (por ejemplo, número de revisión, sucursales).

Pero lo que está pidiendo realmente no parece un repositorio, solo necesita sincronizar una carpeta. Para eso, otras herramientas aparte de SVN son probablemente más adecuadas, p. rsync. Otra posibilidad es tener un archivo siempre actualizado que contenga el código fuente (por ejemplo, Github proporciona esto).

4

Usar un repositorio SVN a través de git-svn para que funcione, pero si hay otras personas a las que les gusta git, perderá los beneficios de colaborar con git. Eso es lo que uso en el trabajo, donde SVN es el estándar de facto y solo prefiero los comandos de git y una mejor visualización del registro. En general, utilizamos SVN como herramienta de archivo: sin ramas, y sincronizamos en la vida real para colaborar en un único documento.

Otra solución sería hacer que el repositorio oficial sea uno, y pasar automáticamente a un esclavo svn repo usando git-svn, ya sea con cron o en un enganche post-commit. Este parece ser el mejor si, como dices, los usuarios svn nunca necesitarán comprometerse.

Cuestiones relacionadas