2008-11-05 25 views
6

una vez que tiene una confirmación que contiene un objeto de submódulo, casi no puede conseguir que git-svn lo comprometa.git-svn: ¿hay alguna manera de hacer que funcione bien con los submódulos, o ignorarlos?

Cualquier idea, solución alternativa, cualquier cosa que no sea "no usar submódulos con git-svn"?

Hasta ahora, la respuesta parece ser un gran NO.

¿Hay alguna forma de permitir al menos que las confirmaciones de git existentes que contienen datos de submódulo se confirmen en svn sin los datos del submódulo? Incluso si eso significa reescribir el árbol.

+0

Estoy buscando utilizar fusiones de subárbol en lugar de submódulos. Hace la vida más fácil para las personas en el lado svn normal. Son solo archivos repo normales para ellos. – kch

Respuesta

1

Deberá reemplazar los submódulos con la propiedad svn:externals para jugar bien con Subversion.

svn propset svn:externals [...] 

No creo que haya otra forma de evitarlo.

0

Si tiene acceso al servidor SVN, puede instalar SubGit en él. Creará un repositorio vinculado de Git, de modo que cualquier inserción en el repositorio de Git será traducida al SVN y viceversa. La traducción es simultánea y segura, por lo que puede considerar este par de repositorios como 2 interfaces (Git y SVN) del mismo repositorio que en GitHub, con la diferencia de que la traducción es mucho más transparente (todas las ramas se convierten en ramas) , etiquetas a etiquetas, svn: ignorar a .gitginore, svn: estilo eol a .gitattributes, valor, etc.).

Después de eso, puede agregar submódulos al repositorio de Git resultante y olvidarse de git-svn.

Si no tiene acceso al servidor, no conozco ninguna solución, solo para el soporte de svn: external de Git (consulte la configuración de SmartGit y .gitsvnextmodules).

Cuestiones relacionadas