Si vous souhaitez déplacer le référentiel et garder l'histoire, vous aurez probablement besoin de système de fichiers d'accès sur les deux hôtes. La solution la plus simple, si votre backend est FSFS (la valeur par défaut sur les versions récentes), est de faire une copie de système de fichiers de l'ensemble du dossier de référentiel.
Si vous avez un type de support Berkley DB, si vous n'êtes pas sûr de ce que votre backend, ou si vous comptez changer de version SVN numéros, vous allez avoir à utiliser svnadmin dump votre ancien dépôt et de le charger dans le nouveau référentiel. À l'aide de svnadmin dump
vous donnera un unique fichier de sauvegarde que vous pouvez copier dans le nouveau système. Ensuite, vous pouvez créer la nouvelle (vide) dépôt et utiliser svnadmin load
, essentiellement en replay tous les commits avec ses métadonnées (auteur, timestamp, etc).
Vous pouvez en savoir plus sur la sauvegarde/chargement de processus ici:
http://svnbook.red-bean.com/en/1.1/ch05s03.html#svn-ch-5-sect-3.5
Aussi, si vous n' svnadmin load
, assurez-vous d'utiliser l' --force-uuid
option, ou sinon les gens vont avoir des problèmes de basculer vers le nouveau référentiel. Subversion utilise un UUID pour identifier le référentiel interne, et il ne sera pas vous permettre de passer d'une copie de travail à un autre référentiel.
Si vous n'avez pas accès au système de fichiers, il peut y avoir d'autres tiers options là-bas (ou vous pouvez écrire quelque chose) pour vous aider à migrer: essentiellement, vous devez utiliser le svn log pour relire chaque révision sur le nouveau référentiel, et de corriger ensuite les métadonnées par la suite. Vous aurez besoin de la pre-revprop-change et post-revprop-change scripts de hook en place pour faire ce qui suppose l'accès au système de fichiers, donc YMMV. Ou, si vous ne souhaitez pas conserver l'historique, vous pouvez utiliser votre copie de travail à l'importation dans le nouveau référentiel. Mais j'espère que ce n'est pas le cas.