2010-11-18 5 views
3

Ich versuche, ein Subversion-Repository auf einen neuen Server zu verschieben, aber den Spiegel dort zu belassen, wo er ist. Ich habe folgendes getan:Kann ein Subversion-Repository verschoben werden, aber sein Spiegel bleibt gleich?

  1. Dump alte Repo
  2. laden Dump in neue Repo
  3. -Setup der neuen Repo-post-commit an den bestehenden Spiegel

Den Haken an svnsync:

#!/bin/sh 

svnsync --non-interactive sync https://mirror.example.com:443/svn/iaw \ 
--sync-username svnsyncuser --sync-password svnsyncpass \ 
--source-username svnsyncuser --source-password svnsyncpass & 

exit 0 

Vorhersagbar wenn ich versuche, diesen Haken aus dem neuen Repo laufen ich folgendes erhalten:

svnsync: OPTIONS von 'http: //oldrepo.url/svn/iaw': Konnte nicht lösen Hostnamen `oldrepo.url ': Host nicht gefunden (http: //oldrepo.url)

Das Problem ist, dass der Spiegel mit der URL des alten Repos initialisiert wurde. Weiß jemand, ob das geändert werden kann, oder muss ich mit einem neuen Spiegel von vorne anfangen?

Vielen Dank

Antwort

2

Sie können Subversion verwenden, um die Revisionseigenschaften in Rev 0 des Spiegelrepositorys zu bearbeiten. D.h .:

svn propset --revprop -r0 svn:sync-from-url http://newrepo.url/svn/iaw \ 
    https://mirror.example.com:443/svn/iaw 

die Box Siehe "svnsync Buchhaltung" in der Repository Replication section of the SVN book betitelt.

0

Alle Ihre Sync-Information von Spiegel svn in/repo gespeichert/db/revprops Verzeichnis. Im Verzeichnis können Sie Dateien wie sehen: 0, 1, 2,

grep -R "http: //oldrepo.url"/repo/db/revprops

und nach finde es, ändere es in eine neue Repo-Adresse und es kann jetzt funktionieren.

+0

Sie sollten Revprop-Dateien niemals direkt bearbeiten. Verwenden Sie stattdessen den Befehl SVN. – user9876

+0

stimme zu, es ist nur ein Weg, um zu trainieren, nicht das Beste. – elprup