¿Cómo hacer que git-svn se encargue de los directorios vacíos con gracia?


Estoy muy contento de usar git-svn, aunque me di cuenta de que git tiene un enfoque diferente cuando se trata de directorios vacíos como SVN. Necesito una manera de evitar la siguiente situación particular:

Tengo en el repositorio SVN de mi proyecto varios directorios vacíos que pertenecen allí y no deben ser tocados. Debido a alguna refactorización, tuve que eliminar otro directorio que solía tener archivos en él. git svn dcommit elimina los archivos, pero abandona el directorio. Me parece que la ignorancia de git de directorios vacíos resulta en inconsistencia en mi repositorio SVN.

Me gustaría tener ese directorio en particular eliminado de mi repositorio SVN. Puede git-svn hacer eso? Y si no, ¿cómo debería estar haciendo eso? (Y, eventualmente, ¿cómo puedo hacer eso mientras confirmo otros archivos con ellos también en el mismo conjunto de cambios?)

Author: Pelle ten Cate, 2011-11-08

2 answers

Utilice el argumento rmdir o el parámetro de configuración:

Rm rmdir

Solo se usa con los comandos dcommit, set-tree y commit-diff.

Elimine los directorios del árbol SVN si no quedan archivos tras. SVN puede versionar directorios vacíos, y no son eliminados por predeterminado si no quedan archivos en ellos. git no puede versión vacía Directory. Habilitar esta bandera hará que el commit a SVN actúe como git.

Clave de configuración: svn.rmdir

 35
Author: kan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-11-09 09:29:01

Tendrá que eliminarlo del lado SVN:

svn delete -m "deleting empty dir" http://path/to/deleted/dir
 13
Author: manojlds,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-11-08 17:56:20