Problème
git ne suit pas les répertoires. Donc, quand un répertoire est vide, il ne remarque pas son existance. Or svn, lui, suit le contenu des répertoires. Donc, quand on pousse un commit depuis git vers un dépôt svn, git n'envoie pas d'information particulière sur la disparition éventuelle de répertoires. De ce fait, il reste plein de répertoires vides dans le dépôt distant svn.
Solution
Pour remédier à cette situation, il faut ajouter les lignes suivantes dans son fichier .gitconfig
ou dans le fichier .git/config
du dépôt considéré. Enfin, on peut aussi taper les commandes suivantes :
# uniquement pour le projet en cours, dans lequel on se trouve : git config svn.rmdir true # globalement, pour tous les projets gérés git config --global svn.rmdir true
Enfin, on peut éventuellement ajouter l'option lors du commit des modifications envoyé au serveur svn distant :
git svn dcommit --rmdir
Remarques
Lorsque le dépôt svn contient déjà des répertoires vides, le fait d'ajouter cette option n'enlèvera pas les anciens répertoires vides. Pour cela, il faut procéder différemment. Pour le moment, la solution n'a pas été trouvée. Elle requiert certainement quelques bidouilles.