Pregunta

Trabajo con software que se guarda en svn para control de versiones.Me gustaría usar git (git-svn), sin embargo, el software requiere mucha instalación y configuración antes de poder usarse.Hay herramientas que se encargan de toda la configuración, incluida la verificación de todo el código a través de svn.

Toda la documentación para git-svn (que he podido encontrar) requiere una nueva compra, usando git-svn.

¿Hay alguna manera de convertir un pago svn existente para que pueda usar git-svn?

¿Fue útil?

Solución

Podrías hacer algo como esto:

  1. Haga un clon completo de su árbol SVN usando git-svn, en un directorio temporal. Asegúrese de utilizar exactamente la misma revisión que su pago actual.
  2. Mueva el " .git " carpeta desde el nivel superior del pago de git-svn al nivel superior del pago de SVN.
  3. Entonces tendrás que decirle a Git que ignore el " .svn " directorios, o puede eliminarlos todos.
  4. Eliminar el pago de git-svn.
  5. Ahí, ahora puedes manipular tus archivos existentes con Git y git-svn.
  6. Haga un " estado de git " y espero que diga que no hay cambios.

Otros consejos

No. Un clon git-svn convierte todo el repositorio en git. Los pagos de SVN no tienen el repositorio completo y, por lo tanto, no se pueden clonar. Esta es la principal ventaja de cambiar de SVN o CVS a un sistema distribuido (como git).

Supongo que probablemente quieras mantener el historial. Sin embargo, en caso de que usted (o cualquier otra persona que tropiece con esta página) no necesite historial, puede usar & Quot; export & Quot; característica como se explica aquí: https://stackoverflow.com/a/419475/2437521 .

Otra forma de hacer esto, que no modifica la copia de trabajo original de Subversion y no requiere que la copie, es usando un parche:

  1. Haga una clonación completa de su árbol de Subversion usando git-svn, en un nuevo directorio que será el repositorio de Git.Asegúrese de utilizar exactamente la misma revisión que su pago actual.Puedes usar git reset --hard :/r<revision> para forzar que sea la misma revisión después de la clonación, donde <revision> es la revisión a la que se actualiza la copia de trabajo de Subversion (consulte esto usando svn info allá).
  2. cd a su copia de trabajo de Subversion.
  3. Usar svn status para asegurarse de que todos los archivos nuevos estén marcados con A (o usar svn add para agregarlos), y todos los archivos eliminados están marcados con D (o usar svn rm para eliminarlos).
  4. Correr svn diff >patch.diff para crear un archivo de parche.
  5. Copiar patch.diff a la parte superior del repositorio Git creado anteriormente.
  6. cd a la parte superior del repositorio Git creado anteriormente.
  7. Correr git apply -p0 patch.diff para aplicar el parche en el árbol de trabajo del repositorio de Git.

Ahora puedes realizar los cambios usando git status, y git add/git commit para guardarlos en su repositorio local.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top