2011-06-23 24 views
5

En resumen, el problema es que cuando corro git svn rebase, tengo un montón de "crear directorio vacío: ..."Cómo prevenir git rebase svn para crear directorios vacíos

En el lado SVN, en trunk, hay un directorio llamado TOD (Tronch Only Dir), con muchos archivos. en otra rama, no hay tal directorio en absoluto.

Cuando cloné este repositorio svn con git svn, las cosas maestras están bien, pero en la rama, obtuve el directorio TOD y la misma estructura de directorios, excepto que no hay archivos en ella.

Si rm el directorio TOD (seguro porque git no rastrea directorios), y cambio a master y ejecuto git svn rebase, recibí los mensajes "creando un direcotry vacío", luego cuando compré la rama, el TOD directorio vuelve.

Con todo, la pregunta es, ¿cómo evitar que git svn cree directorios TOD vacíos en la sucursal?

+1

No establece 'svn-remote. .automkdirs' a false y 'svn.rmdir' a true help? –

+0

Para cualquiera que se pregunte qué valor se debe usar para , puede encontrarlo inspeccionando el archivo .git/config. Hay una sección llamada [svn-remote "svn"] que significa que svn es el nombre de su control remoto, que es el predeterminado si no ha especificado algún otro nombre para el svn-remote. – axiopisty

Respuesta

5

creo @ ben-tebulin es correcta, que al hacer

git config svn-remote.svn.automkdirs false 
git config svn.rmdir true 

debe hacer las cosas bien. Desafortunadamente, pronto me mudé a otros proyectos y no tuve la oportunidad de verificarlo.

En el momento de escribir esto, casi pierdo mi svn-fu, hice una prueba y no pude reproducir el problema, y ​​parece que git-svn ahora puede cambiar entre ramas limpiamente.

+0

Si inspecciona la diferencia del archivo .git/config antes y después de ejecutar estos comandos, obtendrá una mejor idea de lo que están haciendo estos comandos. El que debe usar para el svn-remote. El comando se encuentra en la sección [svn-remote ""] del archivo .git/config. El valor predeterminado se establece en "svn", como se muestra en esta respuesta. – axiopisty