[svnbook] r4573 committed - Translation: Repository Replication

svnbook at googlecode.com svnbook at googlecode.com
Wed Dec 25 08:36:43 CST 2013


Revision: 4573
Author:   jmfelderhoff at gmx.eu
Date:     Wed Dec 25 13:43:17 2013 UTC
Log:      Translation: Repository Replication

http://code.google.com/p/svnbook/source/detail?r=4573

Modified:
  /branches/1.6/de/book/ch05-repository-admin.xml

=======================================
--- /branches/1.6/de/book/ch05-repository-admin.xml	Mon Dec 23 22:11:28  
2013 UTC
+++ /branches/1.6/de/book/ch05-repository-admin.xml	Wed Dec 25 13:43:17  
2013 UTC
@@ -5088,9 +5088,8 @@
          Server zu verteilen, zum sanften Aufrüsten usw.</para>

  <!--
-      <para>As of version 1.4, Subversion provides a program for
-        managing scenarios such as
-        these—<command>svnsync</command>.  This works by
+      <para>Subversion provides a program for managing scenarios such
+        as these—<command>svnsync</command>.  This works by
          essentially asking the Subversion server to
          <quote>replay</quote> revisions, one at a time.  It then uses
          that revision information to mimic a commit of the same to
@@ -5102,19 +5101,19 @@
          repository and read/write access to the destination
          repository.</para>
  -->
-      <para>Seit Version 1.4 stellt Subversion ein Programm zur
-        Handhabung solcher Szenarien zur Verfügung –
-        <command>svnsync</command>. Im Wesentlichen funktioniert das,
-        indem der Subversion-Server aufgefordert wird, Revisionen zu
-        <quote>wiederholen</quote>, eine nach der anderen. Dann wird
-        die Information dieser Revision benutzt, um eine Übergabe
-        derselben an ein anderes Projektarchiv zu imitieren. Keins der
-        Projektarchive muss lokal auf der Maschine liegen, auf der
+      <para>Subversion stellt ein Programm zur Handhabung solcher
+        Szenarien zur Verfügung – <command>svnsync</command>. Im
+        Wesentlichen funktioniert das, indem der Subversion-Server
+        aufgefordert wird, Revisionen zu <quote>wiederholen</quote>,
+        eine nach der anderen. Dann wird die Information dieser
+        Revision benutzt, um eine Übergabe derselben an ein anderes
+        Projektarchiv zu imitieren. Keins der Projektarchive muss
+        lokal auf der Maschine liegen, auf der
          <command>svnsync</command> läuft – seine Parameter sind
-        Projektarchiv-URLs, und es verrichtet seine gesamte Arbeit über
-        die Projektarchiv-Access-Schnittstellen (RA) von Subversion. Das
-        Einzige, was benötigt wird, ist Lesezugriff auf das
-        Quell-Projektarchiv und Lese-/Schreibzugriff auf das
+        Projektarchiv-URLs, und es verrichtet seine gesamte Arbeit
+        über die Projektarchiv-Access-Schnittstellen (RA) von
+        Subversion. Das Einzige, was benötigt wird, ist Lesezugriff
+        auf das Quell-Projektarchiv und Lese-/Schreibzugriff auf das
          Ziel-Projektarchiv.</para>

        <note>
@@ -5142,12 +5141,9 @@
          histories contained in the source and target repositories.
          For this reason, while <command>svnsync</command> cannot
          <emphasis>demand</emphasis> that the target repository be
-        read-only,
-        <footnote>
-          <para>In fact, it can't truly be read-only, or
-            <command>svnsync</command> itself would have a tough time
-            copying revision history into it.</para>
-        </footnote>
+        read-only,<footnote><para>In fact, it can't truly be
+        read-only, or <command>svnsync</command> itself would have a
+        tough time copying revision history into it.</para></footnote>
          allowing the revision history in the target repository to
          change by any mechanism other than the mirroring process is a
          recipe for disaster.</para>
@@ -5156,24 +5152,22 @@
          gerne spiegeln möchten. Als nächstes brauchen Sie ein leeres
          Ziel-Projektarchiv, das als Spiegel dienen soll. Dieses
          Projektarchiv kann eins der verfügbaren Speicherverfahren
-        benutzen (siehe <xref
-        linkend="svn.reposadmin.basics.backends" />), doch es darf
-        noch keine Versionshistorie enthalten. Das von
+        benutzen (siehe
+        <xref linkend="svn.reposadmin.basics.backends" />), doch es
+        darf noch keine Versionshistorie enthalten. Das von
          <command>svnsync</command> verwendete Protokoll zur
          Übermittlung der Revisionsinformation ist sehr empfindlich
          gegenüber nicht übereinstimmenden Versionshistorien im
          Quell- und Ziel-Projektarchiv. Aus dem Grund, dass
          <command>svnsync</command> nicht
-        <emphasis>verlangen</emphasis> kann, dass das Ziel-Projektarchiv
-        nur lesbar ist,
-        <footnote>
-          <para>Tatsächlich kann es gar nicht nur lesbar sein, denn
-            sonst hätte <command>svnsync</command> ein echtes Problem,
-            die Versionshistorie hineinzukopieren.</para>
-        </footnote>
-        ist die Katastrophe programmiert, wenn erlaubt wird, die
-        Revisions-Historie im Ziel-Projektarchiv mit anderen Mitteln als
-        durch das Spiegeln zu verändern.</para>
+        <emphasis>verlangen</emphasis> kann, dass das
+        Ziel-Projektarchiv nur lesbar ist,<footnote><para>Tatsächlich
+        kann es gar nicht nur lesbar sein, denn sonst hätte
+        <command>svnsync</command> ein echtes Problem, die
+        Versionshistorie hineinzukopieren.</para></footnote> ist die
+        Katastrophe programmiert, wenn erlaubt wird, die
+        Revisions-Historie im Ziel-Projektarchiv mit anderen Mitteln
+        als durch das Spiegeln zu verändern.</para>

        <warning>
  <!--
@@ -5251,12 +5245,11 @@
          nicht passend sind.</para>

  <!--
-      <para>As a service to the fine developers of our favorite
-        version control system, we will be mirroring the public
-        Subversion source code repository and exposing that mirror
-        publicly on the Internet, hosted on a different machine than
-        the one on which the original Subversion source code
-        repository lives.  This remote host has a global configuration
+      <para>We will be mirroring the public Subversion repository
+        which houses the source code for this very book and exposing
+        that mirror publicly on the Internet, hosted on a different
+        machine than the one on which the original Subversion source
+        code repository lives.  This remote host has a global configuration
          that permits anonymous users to read the contents of
          repositories on the host, but requires users to authenticate
          to modify those repositories.  (Please forgive us for
@@ -5267,15 +5260,15 @@
          the replication process from a third machine—the one that
          we currently find ourselves using.</para>
  -->
-      <para>Als Dienst an den ausgezeichneten Entwicklern unseres
-        Lieblings-Versionskontrollsystems wollen wir das öffentliche
-        Subversion-Quelltext-Projektarchiv spiegeln und diesen Spiegel
-        von einer anderen Maschine als der, auf der das ursprüngliche
-        Subversion-Quelltext-Projektarchiv untergebracht ist, im Internet
-        veröffentlichen. Dieser entfernt liegende Rechner besitzt eine
-        globale Konfiguration, die es anonymen Benutzern erlaubt, den
-        Inhalt von Projektarchivs auf diesem Rechner zu lesen, aber zum
-        Ändern dieser Projektarchive eine Authentifizierung der Benutzer
+      <para>Wir wollen das öffentliche Subversion-Projektarchiv
+        spiegeln, das den Quelltext des vorliegenden Buchs beherbergt,
+        und diesen Spiegel von einer anderen Maschine als der, auf der
+        das ursprüngliche Subversion-Quelltext-Projektarchiv
+        untergebracht ist, im Internet veröffentlichen. Dieser
+        entfernt liegende Rechner besitzt eine globale Konfiguration,
+        die es anonymen Benutzern erlaubt, den Inhalt von
+        Projektarchivs auf diesem Rechner zu lesen, aber zum Ändern
+        dieser Projektarchive eine Authentifizierung der Benutzer
          erforderlich macht. (Vergeben Sie uns bitte, dass wir für den
          Augenblick über die Details der
          Subversion-Server-Konfiguration hinwegsehen – sie werden
@@ -5299,12 +5292,13 @@
          jedoch konfiguriert ist, sollten wir nicht mehr direkt darauf
          zugreifen müssen.</para>

-      <screen>
-$ ssh admin at svn.example.com \
-      "svnadmin create /var/svn/svn-mirror"
+      <informalexample>
+        <screen>
+$ ssh admin at svn.example.com "svnadmin create /var/svn/svn-mirror"
  admin at svn.example.com's password: ********
  $
  </screen>
+      </informalexample>

  <!--
        <para>At this point, we have our repository, and due to our
@@ -5389,7 +5383,7 @@
        <para>That covers revision property changes.  Now we need to
          ensure that only the <literal>syncuser</literal> user is
          permitted to commit new revisions to the repository.  We do
-        this using a <filename>start-commit</filename> hook scripts
+        this using a <filename>start-commit</filename> hook script
          such as the one in <xref
          linkend="svn.reposadmin.maint.replication.start-commit"
          />.</para>
@@ -5452,9 +5446,9 @@
          initialize</command> subcommand.  The URLs we provide point to
          the root directories of the target and source repositories,
          respectively.  In Subversion 1.4, this is required—only
-        full mirroring of repositories is permitted.  In Subversion
-        1.5, though, you can use <command>svnsync</command> to mirror
-        only some subtree of the repository, too.</para>
+        full mirroring of repositories is permitted.  Beginning with
+        Subversion 1.5, though, you can use <command>svnsync</command>
+        to mirror only some subtree of the repository, too.</para>
  -->
        <para>Das Erste, was wir machen müssen ist, unserem
          Ziel-Projektarchiv mit <command>svnsync</command> zu sagen, dass
@@ -5463,12 +5457,13 @@
          URLs, die wir mitgeben, zeigen auf die Wurzelverzeichnisse des
          Ziel- bzw. Quell-Projektarchivs. In Subversion 1.4 ist das
          erforderlich – nur die vollständige Spiegelung von
-        Projektarchiven ist erlaubt. In Subversion 1.5 jedoch können Sie
-        <command>svnsync</command> auch zum Spiegeln von Teilbäumen
-        des Projektarchivs verwenden.</para>
+        Projektarchiven ist erlaubt. Beginnend mit Subversion 1.5
+        jedoch können Sie <command>svnsync</command> auch zum Spiegeln
+        von Teilbäumen des Projektarchivs verwenden.</para>

  <!--
-      <screen>
+      <informalexample>
+        <screen>
  $ svnsync help init
  initialize (init): usage: svnsync initialize DEST_URL SOURCE_URL

@@ -5476,13 +5471,15 @@
  another repository.
  …
  $ svnsync initialize http://svn.example.com/svn-mirror \
-                     http://svn.collab.net/repos/svn \
+                     http://svnbook.googlecode.com/svn \
                       - -sync-username syncuser - -sync-password syncpass
-Copied properties for revision 0.
+Copied properties for revision 0 (svn:sync-* properties skipped).
  $
  </screen>
+      </informalexample>
  -->
-      <screen>
+      <informalexample>
+        <screen>
  $ svnsync help init
  initialize (init): Aufruf: svnsync initialize ZIEL_URL QUELL_URL

@@ -5490,11 +5487,12 @@
  anderen Projektarchiv vor.
  …
  $ svnsync initialize http://svn.example.com/svn-mirror \
-                     http://svn.collab.net/repos/svn \
+                     http://svnbook.googlecode.com/svn \
                       --sync-username syncuser --sync-password syncpass
-Eigenschaften für Revision 0 kopiert.
+Eigenschaften für Revision 0 kopiert (svn:sync-* Eigenschaften übergangen).
  $
  </screen>
+      </informalexample>

  <!--
        <para>Our target repository will now remember that it is a
@@ -5519,21 +5517,9 @@
            repositories.  This caused problems when a user's
            credentials weren't exactly the same for both repositories,
            especially when running in noninteractive mode (with the
-          <option>- -non-interactive</option> option).</para>
--->
-        <para>In Subversion 1.4 wurden die an die
-          Kommandozeilenoptionen <option>--username</option> und
-          <option>--password</option> von <command>svnsync</command>
-          übergebenen Werte sowohl für die Authentisierung gegenüber
-          dem Quell-Projektarchiv als auch gegenüber dem Ziel-Projektarchiv
-          verwendet. Das führte zu Problemen, falls die Zugangsdaten
-          eines Benutzers nicht für beide Projektarchive identisch waren,
-          insbesonders im nicht-interaktiven Modus (mit der Option
-          <option>--non-interactive</option>).</para>
-
-<!--
-        <para>This has been fixed in Subversion 1.5 with the
-          introduction of two new pairs of options.  Use
+          <option>- -non-interactive</option> option).  This was fixed
+          in Subversion 1.5 with the introduction of two new pairs of
+          options.  Use
            <option>- -source-username</option> and
            <option>- -source-password</option> to provide authentication
            credentials for the source repository; use
@@ -5544,16 +5530,24 @@
            options still exist for compatibility, but we advise against
            using them.)</para>
  -->
-        <para>Dies ist in Subversion 1.5 mit der Einführung von zwei
-          neuen Optionspaaren behoben worden. Benutzen Sie
-          <option>--source-username</option> und
+        <para>In Subversion 1.4 wurden die an die
+          Kommandozeilenoptionen <option>--username</option> und
+          <option>--password</option> von <command>svnsync</command>
+          übergebenen Werte sowohl für die Authentisierung gegenüber
+          dem Quell-Projektarchiv als auch gegenüber dem Ziel-Projektarchiv
+          verwendet. Das führte zu Problemen, falls die Zugangsdaten
+          eines Benutzers nicht für beide Projektarchive identisch waren,
+          insbesonders im nicht-interaktiven Modus (mit der Option
+          <option>--non-interactive</option>). Dies ist in Subversion
+          1.5 mit der Einführung von zwei neuen Optionspaaren behoben
+          worden. Benutzen Sie <option>--source-username</option> und
            <option>--source-password</option> für die Zugangsdaten des
-          Quell-Projektarchivs sowie <option>--sync-username</option> und
-          <option>--sync-password</option> für das Ziel-Projektarchiv.
-          (Die alten Optionen <option>--username</option> und
-          <option>--password</option> bleiben aus
-          Kompatibilitätsgründen bestehen, doch raten wir von deren
-          Verwendung ab.)</para>
+          Quell-Projektarchivs sowie <option>--sync-username</option>
+          und <option>--sync-password</option> für das
+          Ziel-Projektarchiv.  (Die alten Optionen
+          <option>--username</option> und <option>--password</option>
+          bleiben aus Kompatibilitätsgründen bestehen, doch raten wir
+          von deren Verwendung ab.)</para>

        </note>

@@ -5561,14 +5555,11 @@
        <para>And now comes the fun part.  With a single subcommand, we
          can tell <command>svnsync</command> to copy all the
          as-yet-unmirrored revisions from the source repository to the
-        target.
-        <footnote>
-          <para>Be forewarned that while it will take only a few
-            seconds for the average reader to parse this paragraph and
-            the sample output that follows it, the actual time
-            required to complete such a mirroring operation is, shall
-            we say, quite a bit longer.</para>
-        </footnote>
+        target.<footnote><para>Be forewarned that while it will take
+        only a few seconds for the average reader to parse this
+        paragraph and the sample output that follows it, the actual
+        time required to complete such a mirroring operation is, shall
+        we say, quite a bit longer.</para></footnote>
          The <command>svnsync synchronize</command> subcommand will
          peek into the special revision properties previously stored on
          the target repository, and determine both what repository it
@@ -5577,7 +5568,7 @@
          repository and determine what the latest revision in that
          repository is.  Finally, it asks the source repository's
          server to start replaying all the revisions between 0 and that
-        latest revision.  As <command>svnsync</command> get the
+        latest revision.  As <command>svnsync</command> gets the
          resultant response from the source repository's server, it
          begins forwarding those revisions to the target repository's
          server as new commits.</para>
@@ -5585,29 +5576,29 @@
        <para>Und nun kommt der lustige Teil. Mit einem einfachen
          Unterbefehl können wir <command>svnsync</command> auffordern,
          alle bislang ungespiegelten Revisionen aus dem
-        Quell-Projektarchiv zum Ziel zu kopieren.
-        <footnote>
-          <para>Seien Sie jedoch vorgewarnt, dass, obwohl der
-            durchschnittliche Leser nur ein paar Sekunden benötigt, um
-            diesen Absatz und die ihm folgende Beispielausgabe zu
-            erfassen, die tatsächlich für eine vollständige Spiegelung
-            erforderliche Zeit um Einiges länger ist.</para>
-        </footnote>
-        Der Unterbefehl <command>svnsync synchronize</command> wird
-        die bereits vorher im Ziel-Projektarchiv gespeicherten besonderen
-        Revisions-Eigenschaften untersuchen und sowohl ermitteln, welches
-        Projektarchiv es spiegelt und dass die zuletzt gespiegelte
-        Revision die Revision 0 war. Dann fragt es das Quell-Projektarchiv
-        ab, welches die jüngste Revision in diesem Projektarchiv ist.
-        Schließlich fordert es den Server des Quell-Projektarchivs auf,
-        alle Revisionen zwischen 0 und dieser letzten Revision
-        zu wiederholen. Sobald <command>svnsync</command> die
-        entsprechende Antwort vom Quell-Projektarchiv-Server erhält,
-        leitet es diese Revisionen als neue Übergaben an den Server
-        des Ziel-Projektarchivs weiter.</para>
+        Quell-Projektarchiv zum Ziel zu kopieren.<footnote><para>Seien
+        Sie jedoch vorgewarnt, dass, obwohl der durchschnittliche
+        Leser nur ein paar Sekunden benötigt, um diesen Absatz und die
+        ihm folgende Beispielausgabe zu erfassen, die tatsächlich für
+        eine vollständige Spiegelung erforderliche Zeit um Einiges
+        länger ist.</para></footnote> Der Unterbefehl
+        <command>svnsync synchronize</command> wird die bereits vorher
+        im Ziel-Projektarchiv gespeicherten besonderen
+        Revisions-Eigenschaften untersuchen und sowohl ermitteln,
+        welches Projektarchiv es spiegelt und dass die zuletzt
+        gespiegelte Revision die Revision 0 war. Dann fragt es das
+        Quell-Projektarchiv ab, welches die jüngste Revision in diesem
+        Projektarchiv ist.  Schließlich fordert es den Server des
+        Quell-Projektarchivs auf, alle Revisionen zwischen 0 und
+        dieser letzten Revision zu wiederholen. Sobald
+        <command>svnsync</command> die entsprechende Antwort vom
+        Quell-Projektarchiv-Server erhält, leitet es diese Revisionen
+        als neue Übergaben an den Server des Ziel-Projektarchivs
+        weiter.</para>

  <!--
-      <screen>
+      <informalexample>
+        <screen>
  $ svnsync help synchronize
  synchronize (sync): usage: svnsync synchronize DEST_URL

@@ -5615,90 +5606,87 @@
  with which it was initialized.
  …
  $ svnsync synchronize http://svn.example.com/svn-mirror
-Transmitting file data ........................................
  Committed revision 1.
  Copied properties for revision 1.
-Transmitting file data ..
  Committed revision 2.
  Copied properties for revision 2.
-Transmitting file data .....
+Transmitting file data .
  Committed revision 3.
  Copied properties for revision 3.
  …
-Transmitting file data ..
-Committed revision 23406.
-Copied properties for revision 23406.
  Transmitting file data .
-Committed revision 23407.
-Copied properties for revision 23407.
+Committed revision 4063.
+Copied properties for revision 4063.
+Transmitting file data .
+Committed revision 4064.
+Copied properties for revision 4064.
  Transmitting file data ....
-Committed revision 23408.
-Copied properties for revision 23408.
+Committed revision 4065.
+Copied properties for revision 4065.
  $
  </screen>
+      </informalexample>
  -->
-      <screen>
+      <informalexample>
+        <screen>
  $ svnsync help synchronize
-synchronize (sync): Aufruf: svnsync synchronize ZIEL_URL
+synchronize (sync): usage: svnsync synchronize DEST_URL

-Überträgt alle laufenden Revisionen von der Quelle, mit der es
-initialisiert wurde, zum Ziel.
+Transfer all pending revisions to the destination from the source
+with which it was initialized.
  …
  $ svnsync synchronize http://svn.example.com/svn-mirror
-Übertrage Daten ........................................
  Revision 1 übertragen.
  Eigenschaften für Revision 1 kopiert.
-Übertrage Daten ..
  Revision 2 übertragen.
  Eigenschaften für Revision 2 kopiert.
-Übertrage Daten .....
+Übertrage Daten .
  Revision 3 übertragen.
  Eigenschaften für Revision 3 kopiert.
  …
-Übertrage Daten ..
-Revision 23406 übertragen.
-Eigenschaften für Revision 23406 kopiert.
  Übertrage Daten .
-Revision 23407 übertragen.
-Eigenschaften für Revision 23407 kopiert.
-Übertrage Daten ....
-Revision 23408 übertragen.
-Eigenschaften für Revision 23408 kopiert.
+Revision 4063 übertragen.
+Eigenschaften für Revision 4063 kopiert.
+Übertrage Daten .
+Revision 4064 übertragen.
+Eigenschaften für Revision 4064 kopiert.
+Übertrage Daten .
+Revision 4065 übertragen.
+Eigenschaften für Revision 4065 kopiert.
  $
  </screen>
+      </informalexample>

  <!--
        <para>Of particular interest here is that for each mirrored
          revision, there is first a commit of that revision to the
-        target repository, and then property changes follow.  This is
-        because the initial commit is performed by (and attributed to)
-        the user <literal>syncuser</literal>, and it is datestamped
-        with the time as of that revision's creation.  Also,
-        Subversion's underlying repository access interfaces don't
-        provide a mechanism for setting arbitrary revision properties
-        as part of a commit.  So <command>svnsync</command> follows up
-        with an immediate series of property modifications that copy
-        into the target repository all the revision properties found
-        for that revision in the source repository.  This also has the
-        effect of fixing the author and datestamp of the revision to
-        match that of the source repository.</para>
+        target repository, and then property changes follow.  This
+        two-phase replication is required because the initial commit
+        is performed by (and attributed to) the user
+        <literal>syncuser</literal> and is datestamped with the time
+        as of that revision's creation.  <command>svnsync</command>
+        has to follow up with an immediate series of property
+        modifications that copy into the target repository all the
+        original revision properties found for that revision in the
+        source repository, which also has the effect of fixing the
+        author and datestamp of the revision to match that of the
+        source repository.</para>
  -->
        <para>Von besonderem Interesse ist hier, dass für jede
          gespiegelte Revision zunächst eine Übergabe der Revision an
          das Ziel-Projektarchiv erfolgt und dann die Änderungen der
-        Eigenschaften folgen. Das kommt daher, dass die anfängliche
-        Übergabe durch den Benutzer <literal>syncuser</literal>
-        durchgeführt (und ihm auch zugeschrieben) wird und mit dem
-        Zeitstempel der Erzeugung dieser Revision versehen wird.
-        Darüberhinaus erlauben die Subversion zugrundeliegenden
-        Projektarchiv-Zugriffs-Schnittstellen nicht das beliebige Setzen
-        von Revisions-Eigenschaften als Teil einer Übergabe. Deshalb folgt
-        <command>svnsync</command> mit einer unmittelbaren Serie von
-        Änderungen an den Eigenschaften, die all die Eigenschaften dieser
-        Revision vom Quell-Projektarchiv ins Ziel-Projektarchiv kopieren.
-        Das hat auch den Effekt, dass der Autor und der Zeitstempel so
-        korrigiert werden, dass diese den entsprechenden Werten im
-        Quell-Projektarchiv entsprechen.</para>
+        Eigenschaften folgen. Diese zweiphasige Replizierung ist
+        notwendig, da die anfängliche Übergabe durch den Benutzer
+        <literal>syncuser</literal> durchgeführt (und ihm auch
+        zugeschrieben) wird und mit dem Zeitstempel der Erzeugung
+        dieser Revision versehen wird. <command>svnsync</command> hat
+        hinterher unmittelbaren Serie von Änderungen an den
+        Eigenschaften vorzunehmen, die all die Eigenschaften dieser
+        Revision vom Quell-Projektarchiv ins Ziel-Projektarchiv
+        kopieren, was auch den Effekt hat, dass der Autor und der
+        Zeitstempel so korrigiert werden, dass diese den
+        entsprechenden Werten im Quell-Projektarchiv
+        entsprechen.</para>

  <!--
        <para>Also noteworthy is that <command>svnsync</command>
@@ -5708,7 +5696,7 @@
          repository, simply repeat the <command>svnsync
          synchronize</command> command, and it will happily pick up
          right where it left off.  In fact, as new revisions appear in
-        the source repository, this is exactly what you to do
+        the source repository, this is exactly what you do
          to keep your mirror up to date.</para>
  -->
        <para>Bemerkenswert ist ebenfalls, dass
@@ -5796,43 +5784,43 @@
            dient.</para>

  <!--
-        <screen>
+        <informalexample>
+          <screen>
  $ svn propdel - -revprop -r0 svn:sync-lock  
http://svn.example.com/svn-mirror
  property 'svn:sync-lock' deleted from repository revision 0
  $
  </screen>
+        </informalexample>
  -->
-        <screen>
+        <informalexample>
+          <screen>
  $ svn propdel --revprop -r0 svn:sync-lock http://svn.example.com/svn-mirror
  Eigenschaft »svn:sync-lock« wurde von Revision 0 im Projektarchiv gelöscht
  $
  </screen>
+        </informalexample>

  <!--
          <para>That <command>svnsync</command> stores the source
            repository URL in a bookkeeping property on the mirror
-          repository is the reason why you have to specify that
-          URL only once, during <command>svnsync init</command>.  Future
+          repository is the reason why you have to specify that URL
+          only once, during <command>svnsync init</command>.  Future
            synchronization operations against that mirror simply
            consult the special <literal>svn:sync-from-url</literal>
-          property stored on the mirror itself to know where
-          to synchronize from.  This value is used literally by the
-          synchronization process, though.  So while from within
-          CollabNet's network you can perhaps access our example
-          source URL as <literal>http://svn/repos/svn</literal>
-          (because that first <literal>svn</literal> magically gets
-          <literal>.collab.net</literal> appended to it by DNS
-          voodoo), if you later need to update that mirror from
-          another machine outside CollabNet's network, the
-          synchronization might fail (because the hostname
-          <literal>svn</literal> is ambiguous).  For this reason, it's
-          best to use fully qualified source repository URLs when
-          initializing a mirror repository rather than those that
-          refer to only hostnames or IP addresses (which can change
-          over time).  But here again, if you need an existing mirror
-          to start referring to a different URL for the same source
-          repository, you can change the bookkeeping property which
-          houses that information:</para>
+          property stored on the mirror itself to know where to
+          synchronize from.  This value is used literally by the
+          synchronization process, though.  Be wary of using
+          non-fully-qualified domain names (such as referring
+          to <literal>svnbook.red-bean.com</literal> as
+          simply <literal>svnbook</literal> because that happens to
+          work when you are connected directly to
+          the <literal>red-bean.com</literal> network), domain names
+          which don't resolve or resolve differently depending on
+          where you happen to be operating from, or IP addresses
+          (which can change over time).  But here again, if you need
+          an existing mirror to start referring to a different URL for
+          the same source repository, you can change the bookkeeping
+          property which houses that information:</para>
  -->
          <para>Dass <command>svnsync</command> den URL des
            Quell-Projektarchivs zur Buchhaltung in einer Eigenschaft des
@@ -5843,37 +5831,37 @@
            <literal>svn:sync-from-url</literal>, das auf dem Spiegel
            gespeichert ist, um zu wissen, woher synchronisiert werden
            soll. Dieser Wert wird vom Synchronisierungsprozess jedoch
-          wortwörtlich benutzt. Während Sie vielleicht innerhalb des
-          Netzes von CollabNet auf unseren Beispiel-URL
-          <literal>http://svn/repos/svn</literal> zugreifen können
-          (weil das erste <literal>svn</literal> durch
-          DNS-Voodoo-Zauber ein <literal>.collab.net</literal>
-          angehängt bekommt), kann der Zugriff fehlschlagen, falls Sie
-          später einmal den Spiegel von außerhalb des CollabNet-Netzes
-          aktualisieren müssen (da der Rechnername
-          <literal>svn</literal> mehrdeutig ist). Aus diesem Grund ist
-          es am besten, beim Initialisieren von Spiegel-Projektarchivs
-          vollqualifizierte Quell-Projektarchiv-URLs zu verwenden,
-          anstatt solche, die nur auf Rechnernamen oder IP-Adressen
-          verweisen (die sich im Lauf der Zeit ändern können). Aber
-          auch hier können Sie die Eigenschaft zur Buchhaltung ändern,
-          falls ein bestehender Spiegel einen unterschiedlichen URL
-          für dasselbe Quell-Projektarchiv benötigt:</para>
+          wortwörtlich benutzt. Seien Sie vorsichtig, wenn Sie nicht
+          vollqualifizierte Domainnamen verwenden (etwa wenn Sie sich
+          auf <literal>svnbook.red-bean.com</literal> einfach mit
+          <literal>svnbook</literal> beziehen, da das funktioniert,
+          wenn Sie direkt mit dem  <literal>red-bean.com</literal>
+          Netz verbunden sind), Domainnamen, die sich nicht auflösen
+          lassen oder sich unterschiedlich auflösen, je nachdem von wo
+          aus Sie arbeiten oder IP-Adressen (die sich im Lauf der Zeit
+          ändern können).  Aber auch hier können Sie die Eigenschaft
+          zur Buchhaltung ändern, falls ein bestehender Spiegel einen
+          unterschiedlichen URL für dasselbe Quell-Projektarchiv
+          benötigt:</para>

  <!--
-        <screen>
+        <informalexample>
+          <screen>
  $ svn propset - -revprop -r0 svn:sync-from-url  
<replaceable>NEW-SOURCE-URL</replaceable> \
        http://svn.example.com/svn-mirror
  property 'svn:sync-from-url' set on repository revision 0
  $
  </screen>
+        </informalexample>
  -->
-        <screen>
+        <informalexample>
+          <screen>
  $ svn propset --revprop -r0 svn:sync-from-url  
<replaceable>NEUER-QUELL-URL</replaceable> \
        http://svn.example.com/svn-mirror
  Eigenschaft »svn:sync-from-url« wurde für Revision 0 im Projektarchiv  
gesetzt
  $
  </screen>
+        </informalexample>

  <!--
          <para>Another interesting thing about these special
@@ -5905,6 +5893,48 @@
            speziellen Eigenschaften in Revision 0 des Quell-Projektarchivs
            entdeckt, ignoriert es sie einfach.</para>

+<!--
+        <para>An <command>svnsync info</command> subcommand was added
+          in Subversion 1.6 to easily display the special bookkeeping
+          properties in the destination repository.</para>
+-->
+        <para>Ein Unterbefehl <command>svnsync info</command> wurde in
+          Subversion 1.6 hinzugefügt, um die besonderen
+          Buchhaltungs-Eigenschaften im Ziel-Projektarchiv anzeigen zu
+          lassen.</para>
+
+<!--
+        <informalexample>
+          <screen>
+$ svnsync help info
+info: usage: svnsync info DEST_URL
+
+Print information about the synchronization destination repository
+located at DEST_URL.
+…
+$ svnsync info http://svn.example.com/svn-mirror
+Source URL: http://svnbook.googlecode.com/svn
+Source Repository UUID: 931749d0-5854-0410-9456-f14be4d6b398
+Last Merged Revision: 4065
+$
+</screen>
+        </informalexample>
+-->
+        <informalexample>
+          <screen>
+$ svnsync help info
+Aufruf: svnsync info ZIEL_URL
+
+Gibt Informationen über das Zielprojektarchiv der Synchronisation aus,
+das sich unter ZIEL_URL befindet.
+…
+$ svnsync info http://svn.example.com/svn-mirror
+Quell-URL: http://svnbook.googlecode.com/svn
+UUID des Quellprojektarchivs: 931749d0-5854-0410-9456-f14be4d6b398
+Letzte zusammengeführte Revision: 4065
+$
+</screen>
+        </informalexample>
        </sidebar>

  <!--
@@ -5937,7 +5967,8 @@
          Revisionsintervalls erneut repliziert.</para>

  <!--
-      <screen>
+      <informalexample>
+        <screen>
  $ svnsync help copy-revprops
  copy-revprops: usage: svnsync copy-revprops DEST_URL [REV[:REV2]]

@@ -5948,8 +5979,10 @@
  Copied properties for revision 12.
  $
  </screen>
+      </informalexample>
  -->
-      <screen>
+      <informalexample>
+        <screen>
  $ svnsync help copy-revprops
  copy-revprops: Aufruf: svnsync copy-revprops ZIEL_URL [REV[:REV2]]

@@ -5960,6 +5993,7 @@
  Eigenschaften für Revision 12 kopiert.
  $
  </screen>
+      </informalexample>

  <!--
        <para>That's repository replication in a nutshell.  You'll
@@ -6062,21 +6096,22 @@

  <!--
        <para>Once the two repositories have the same UUID, you can use
-        <command>svn switch</command> with the <option>-  
-relocate</option> option to point your working
+        <command>svn switch</command> with
+        the <option>- -relocate</option> option to point your working
          copy to whichever of the repositories you wish to operate
-        against, a process that is described in <xref
-        linkend="svn.ref.svn.c.switch" />.  There is a possible danger
-        here, though, in that if the primary and mirror repositories
-        aren't in close synchronization, a working copy up to date
-        with, and pointing to, the primary repository will, if
-        relocated to point to an out-of-date mirror, become confused
-        about the apparent sudden loss of revisions it fully expects
-        to be present, and it will throw errors to that effect.  If
-        this occurs, you can relocate your working copy back to the
-        primary repository and then either wait until the mirror
-        repository is up to date, or backdate your working copy to a
-        revision you know is present in the sync repository, and then
-        retry the relocation.</para>
+        against, a process that is described in
+        <xref linkend="svn.ref.svn.c.switch" />.  There is a possible
+        danger here, though, in that if the primary and mirror
+        repositories aren't in close synchronization, a working copy
+        up to date with, and pointing to, the primary repository will,
+        if relocated to point to an out-of-date mirror, become
+        confused about the apparent sudden loss of revisions it fully
+        expects to be present, and it will throw errors to that
+        effect.  If this occurs, you can relocate your working copy
+        back to the primary repository and then either wait until the
+        mirror repository is up to date, or backdate your working copy
+        to a revision you know is present in the sync repository, and
+        then retry the relocation.</para>
  -->
        <para>Sobald beide Projektarchive dieselbe UUID haben, können Sie
          <command>svn switch</command> mit der Option


More information about the svnbook-dev mailing list