Diese Dokumentation wurde zur Beschreibung der Serie 1.7.x von Apache™ Subversion® erstellt. Falls Sie eine unterschiedliche Version von Subversion einsetzen, sei Ihnen dringend angeraten, bei http://www.svnbook.com/ vorbeizuschauen und stattdessen die zu Ihrer Version von Subversion passende Version dieser Dokumentation heranzzuiehen.

Name

svnsync initialize (init) — Ein Spiegel-Projektarchiv für die Synchronisierung aus dem Quell-Projektarchiv initialisieren.

Aufruf

svnsync initialize MIRROR_URL SOURCE_URL

Beschreibung

svnsync initialize überprüft, ob ein Projektarchiv die Mindestvoraussetzungen eines neuen Spiegel-Projektarchivs erfüllt und legt die anfängliche Verwaltungsinformation an, welche das Spiegel-Projektarchiv mit dem Quell-Projektarchiv (durch SOURCE_URL angegeben) verknüpft. Dies ist der erste svnsync-Befehl, den Sie auf einem künftigen Spiegel-Projektarchiv laufen lassen.

Normalerweise ist SOURCE_URL der URL des Wurzelverzeichnisses des Subversion Projektarchivs, das Sie spiegeln möchten. Subversion 1.5 und neuer erlauben jedoch auch, svnsync für teilweise Projektarchiv-Spiegelungen zu verwenden; geben Sie einfach mit SOURCE_URL den URL des Unterverzeichnisses des Quell-Projektarchivs an, das Sie spiegeln möchten.

Standardmäßig bestehen die oben erwähnten Mindestvoraussetzungen eines Spiegels darin, dass die Bearbeitung von Revisionseigenschaften erlaubt sind und dass es keinerlei Versionshistorie beinhaltet. Seit Subversion 1.7 können Sie jedoch mit der Option --allow-non-empty die Überprüfung unterbinden, dass ein Projektarchiv leer ist. Obwohl die Verwendung dieser Option nicht zur Gewohnheit werden sollte (da sie einen wertvollen Sicherheitsmechanismus umgeht), hilft sie bei einem sehr häufigen Anwendungsfall: die Initialisierung einer Kopie eines Projektarchivs als Spiegel des Originals. Dies ist besonders praktisch, wenn neue Spiegel von Projektarchiven aufgesetzt werden, die bereits eine umfangreiche Versionshistorie beinhalten. Statt ein brandneues Projektarchiv als Spiegel zu initialisieren und anschließend die gesamte Historie hineinzusynchronisieren, werden es Administratoren als deutlich schneller empfinden, zunächst eine Kopie des vollentwickelten Projektarchivs zu machen (vielleicht mit svnadmin hotcopy), um anschließend mit svnsync initialize --allow-non-empty diese Kopie als Spiegel zu initialisieren, der dann bereits aktuell in Bezug auf das Original ist.

Optionen

Beispiele

Fehlgeschlagene Initialisierung eines Spiegel-Projektarchivs, da sich Revisions-Eigenschaften nicht ändern lassen:

$ svnsync initialize file:///var/svn/repos-mirror \
                     http://svn.example.com/repos
Das Projektarchiv lässt keine Änderungen an Revisionseigenschaften zu.
Bitten Sie den Administrator darum, eine Aktion »pre-revprop-change«
einzurichten."
$

Initialisierung eines Projektarchivs als Spiegel, wobei bereits ein pre-revprop-change-Hook bereitgestellt wurde, der alle Änderungen an Revisions-Eigenschaften zulässt:

$ svnsync initialize file:///var/svn/repos-mirror \
                     http://svn.example.com/repos
Eigenschaften für Revision 0 kopiert.
$