2009-11-11 5 views
6

J'ai utilisé Tortoise SVN (et VisualSVN) avec un dépôt local sur mon ordinateur de bureau pendant quelques mois. Nous venons de mettre en place un serveur SVN Linux, et je veux déplacer mon dépôt vers ce serveur, en conservant tout mon historique. Une fois déplacé, je vais arrêter d'utiliser le référentiel local. Les docs Tortoise suggèrent d'utiliser la commande "Relocate ...", mais cela se plaint des UUID non concordants. J'ai trouvé quelques suggestions sur la façon d'éditer le fichier UUID pour le faire correspondre au serveur, mais Tortoise a ignoré la nouvelle valeur, même après un redémarrage.Comment puis-je déplacer mon dépôt local Tortoise SVN vers notre nouveau serveur SVN Linux?

De plus, je n'ai actuellement pas d'accès en ligne de commande au serveur Linux, mais je peux probablement l'obtenir si je le dois.

Quelle est la meilleure façon de faire cela?

Répondre

9

Vous devez svnadmin dump votre dépôt local, obtenir ce fichier de vidage sur la machine Linux, et svnadmin load là.

Relocate est utilisé sur vos copies de travail après que ce qui précède a été fait.

Here's the documentation.

+0

Le vidage svnadmin a bien fonctionné - merci! Cependant, Relocate se plaignait encore des UUID non concordants. De plus, VisualSVN a insisté pour référencer l'ancien référentiel local. Après un peu de futing autour, j'ai renommé TOUTES mes copies de travail, et ensuite fait de nouvelles caisses dans de nouveaux répertoires de travail. Quand j'ai confirmé que tout fonctionnait correctement, j'ai supprimé les anciennes copies de travail. –

2

Si vous utilisez un FSFS-référentiel back-end (ce qui est standard depuis svn 1.3), vous pouvez simplement copie de fichier du répertoire entier du référentiel (par exemple. Via SCP) au serveur LINUX. Alors la relocalisation ne devrait poser aucun problème car c'est en fait le même référentiel.

Le format repo FSFS est la plate-forme compatible (s'il vous plaît vérifier que la version svn linux est égale ou supérieure à votre version de VisualSVN)

Je l'ai fait très souvent et ça marche vraiment (bien sûr, il est beaucoup mieux d'arrêter de commettre avant de copier le repo)

1

Je viens d'essayer les éléments suivants (en réponse au désespoir intense):

les dépôts ont été créés avec TortoiseSVN et aucun SVN en cours d'exécution de l'autre côté (seulement une ressource partagée). Donc, j'ai installé le nouveau serveur SVN et utilisé ses binaires pour exécuter

C:\csvn> svnrdump dump file://server_ip/shared_resource/project > projectDump.svndump 

Où server_ip est l'adresse IP du serveur sur lequel le référentiel a été créé. Et ça a marché! Autorisations juste nécessaires sur le dossier partagé (dans mon cas, j'ai un utilisateur dans Active Directory pour se connecter dans l'ancien serveur de référentiel et le nouveau). J'ai juste deviné que cette information pourrait aider n'importe qui qui, comme moi, souffre fortement en migrant une installation de merde.