Vous avez un dépôt SVN et vous souhaitez déplacer un répertoire complet ou un fichier sans perdre l'historique des commits ? Utilisez la commande move de SVN !

Un beau jour, j'ai voulu déplacer un répertoire complet d'un SVN avec TortoiseSVN. Bien sûr, je voulais garder l'historique des modifications. La fonctionnalité "rename" permet seulement de renommer un fichier ou un dossier, pas de le déplacer dans l'arborescence.

La commande svn move permet de palier à ça très simplement !

svn move -m "Message du commit" <URL source> <URL destination>

Ouvrez votre invite de commande ou terminal et placez vous dans le dossier du dépôt. Mettez cette commande :

svn move -m "Déplacement du répertoire blah" "https://svn.monserveur.com/mon-depot/rep1/blah" "https://svn.monserveur.com/mon-depot/blah"

Cela va donc faire une copie du répertoire source dans le répertoire de destination. Le répertoire source va être supprimé et un commit aura lieu directement après. Et l'historique des fichiers présents dans le répertoire est conservé !