[svnbook] r3823 committed - * trunk/src/de/book/ch03-advanced-topics.xml:...

svnbook at googlecode.com svnbook at googlecode.com
Mon Apr 11 02:42:27 CDT 2011


Revision: 3823
Author:   jmfelderhoff at gmx.eu
Date:     Mon Apr 11 00:40:15 2011
Log:      * trunk/src/de/book/ch03-advanced-topics.xml:
   Translated Peg and operative revisions.

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

Modified:
  /trunk/src/de/book/ch03-advanced-topics.xml

=======================================
--- /trunk/src/de/book/ch03-advanced-topics.xml	Mon Jan 24 12:53:24 2011
+++ /trunk/src/de/book/ch03-advanced-topics.xml	Mon Apr 11 00:40:15 2011
@@ -6318,8 +6318,12 @@
    <!-- =================================================================  
-->
    <!-- =================================================================  
-->
    <sect1 id="svn.advanced.pegrevs">
+<!--
      <title>Peg and Operative Revisions</title>
-
+-->
+    <title>Peg- und operative Revisionen</title>
+
+<!--
      <para>We copy, move, rename, and completely replace files and
        directories on our computers all the time.  And your version
        control system shouldn't get in the way of your doing these
@@ -6333,7 +6337,23 @@
        versioned objects.  This introduces a certain level of
        complexity to your interactions with those paths and
        objects.</para>
-
+-->
+    <para>Dateien und Verzeichnisse werden auf unseren Rechnern
+      ständig kopiert, verschoben, umbenannt und vollständig
+      ersetzt. Ihr Versionskontrollsystem sollte nicht im Weg stehen,
+      wenn Sie diese Dinge auch mit Dateien und Verzeichnissen unter
+      Versionskontrolle machen. Die Dateiverwaltungsunterstützung von
+      Subversion ist sehr befreiend, indem sie beinahe die gleiche
+      Flexibilität bei versionierten Dateien erlaubt, die Sie bei
+      der Handhabung unversionierter Dateien erwarten. Diese
+      Flexibilität bedeutet aber, dass während der Lebenszeit Ihres
+      Projektarchivs ein gegebenes versioniertes Objekt viele Pfade
+      haben kann, und ein gegebener Pfad verschiedene vollständig
+      unterschiedliche versionierte Objekte repräsentieren kann. Das
+      fügt Ihrer Arbeit mit diesen Pfaden und Objekten einen gewissen
+      Grad an Komplexität hinzu.</para>
+
+<!--
      <para>Subversion is pretty smart about noticing when an object's
        version history includes such <quote>changes of address.</quote>
        For example, if you ask for the revision history log of a
@@ -6343,7 +6363,20 @@
        and after that rename.  So, most of the time, you don't even
        have to think about such things.  But occasionally, Subversion
        needs your help to clear up ambiguities.</para>
-
+-->
+    <para>Subversion ist ziemlich schlau, wenn es darum geht,
+      festzustellen, wann die Versionsgeschichte eines Objektes eine
+      solche <quote>Adressänderung</quote> beinhaltet. Wenn Sie
+      beispielsweise das Protokoll der Versionsgeschichte einer
+      bestimmten Datei abfragen, die letzte Woche umbenannt wurde,
+      wird Subversion erfreulicherweise all diese Protokolleinträge
+      liefern – die Revision, in der die Umbenennung vorgenommen
+      wurde und die wichtigen Einträge aus der Zeit vor und nach der
+      Umbenennung. Meistens brauchen Sie sich also nicht um solche
+      Dinge zu kümmern. Doch ist Subversion gelegentlich auf Ihre
+      Hilfe angewiesen, um Unklarheiten aufzuklären.</para>
+
+<!--
      <para>The simplest example of this occurs when a directory or file
        is deleted from version control, and then a new directory or
        file is created with the same name and added to version control.
@@ -6357,7 +6390,25 @@
        have happened to <emphasis>all</emphasis> the objects that have
        ever lived at that path?  Subversion needs a hint about what you
        really want.</para>
-
+-->
+    <para>Das einfachste Beispiel hierfür tritt auf, falls ein
+      Verzeichnis oder eine Datei aus der Versionskontrolle gelöscht
+      und dann ein neues Verzeichnis oder eine neue Datei gleichen
+      Namens erzeugt und unter Versionskontrolle gestellt wird. Bei
+      dem Ding, das Sie gelöscht haben und dem, das Sie später
+      hinzugefügt haben handelt es sich nicht um das selbe Ding. Sie
+      haben lediglich den gleichen Pfad gehabt, beispielsweise
+      <filename>/trunk/object</filename>. Was bedeutet es dann,
+      Subversion nach der Geschichte von
+      <filename>/trunk/object</filename> zu fragen? Fragen Sie nach
+      dem Ding, das sich momentan an diesem Ort befindet oder dem
+      alten Ding, das Sie von dort gelöscht haben? Fragen Sie nach den
+      Arbeiten, die an <emphasis>allen</emphasis> Objekten
+      stattgefunden haben, die sich jemals unter diesem Pfad befunden
+      haben? Subversion benötigt einen Hinweis darauf, was Sie
+      wirklich möchten.</para>
+
+<!--
      <para>And thanks to moves, versioned object history can get far
        more twisted than even that.  For example, you might have a
        directory named <filename>concept</filename>, containing some
@@ -6377,7 +6428,30 @@
        Frabnaggilywort releases a 1.0 version and is downloaded and
        used daily by hordes of people aiming to improve their
        lives.</para>
-
+-->
+    <para>Durch Verschiebungen kann die Versionsgeschichte sogar
+      weitaus komplizierter werden. Sie haben beispielsweise ein
+      Verzeichnis namens <filename>concept</filename>, das ein im
+      Werden begriffenes Software-Projekt beinhaltet, mit dem Sie
+      herumgespielt haben. Schließlich reift das Projekt soweit
+      heran, dass die Idee Flügel bekommen zu haben scheint, was
+      Sie das Undenkbare machen lässt: dem Projekt einen Namen geben.
+      <footnote>
+        <para><quote>Sie sollten es nicht mit einem Namen versehen.
+          Sobald Sie es mit einem Namen versehen, beginnen Sie, sich
+          mit ihm verbunden zu fühlen.</quote> – Mike
+          Wazowski</para>
+      </footnote>
+      Nehmen wir an, Sie haben Ihre Software Frabnaggilywort genannt.
+      Zu diesem Zeitpunkt erscheint es sinnvoll, das Verzeichnis
+      umzubenennen, um den neuen Namen des Projektes widerzuspiegeln,
+      also wird <filename>concept</filename> umbenannt in
+      <filename>frabnaggilywort</filename>. Das Leben geht weiter, und
+      von Frabnaggilywort wird eine Version 1.0 veröffentlicht, die
+      von Massen an Menschen, die ihr Leben zu verbessern trachten,
+      heruntergeladen und täglich benutzt werden.</para>
+
+<!--
      <para>It's a nice story, really, but it doesn't end there.
        Entrepreneur that you are, you've already got another think in
        the tank.  So you make a new directory,
@@ -6390,7 +6464,21 @@
        <filename>concept</filename> to something else for a while, but
        later rename the thing back to <filename>concept</filename> for
        some reason.</para>
-
+-->
+    <para>Dies ist eine wirklich schöne Geschichte, die hier aber
+      nicht endet. Als echter Unternehmer gehen Sie bereits mit der
+      nächsten Idee schwanger. Also erstellen Sie ein neues
+      Verzeichnis <filename>concept</filename>, und der Zyklus beginnt
+      erneut. Tatsächlich startet dieser Zyklus sehr oft neu über die
+      Jahre, jedes Mal mit dem alten Verzeichnis
+      <filename>concept</filename>, das manchmal umbenannt wird, falls
+      die Idee reift, manchmal jedoch gelöscht wird, wenn die Idee
+      verworfen wird. Oder, um es auf die Spitze zu treiben, Sie
+      benennen <filename>concept</filename> für eine Weile in etwas
+      anderes um, aber aus irgend einem Grund taufen Sie es später
+      wieder <filename>concept</filename>.</para>
+
+<!--
      <para>In scenarios like these, attempting to instruct
        Subversion to work with these reused paths can be a little like
        instructing a motorist in Chicago's West Suburbs to drive east
@@ -6399,7 +6487,19 @@
        Wheaton, Glen Ellyn, and Lombard.  And no, they aren't the same
        street.  Our motorist—and our Subversion—need a
        little more detail to do the right thing.</para>
-
+-->
+    <para>In Szenarios wie diesem, verhält sich der Versuch,
+      Subversion aufzufordern, mit diesen wiederverwendeten Pfaden zu
+      arbeiten, ähnlich, wie einem Autofahrer in den westlichen
+      Vororten Chicagos zu erklären, die Roosevelt Road ostwärts zu
+      fahren und links in die Main Street abzubiegen. In nur zwanzig
+      Minuten können Sie die <quote>Main Street</quote> in
+      Wheaton, Glen Ellyn und Lombard kreuzen. Aber das ist keineswegs
+      die selbe Straße. Unser Autofahrer – und Subversion
+      – benötigen etwas mehr Details, um das Richtige machen zu
+      können.</para>
+
+<!--
      <para>In version 1.1, Subversion introduced a way for you to tell
        it exactly which Main Street you meant.  It's called the
        <firstterm>peg revision</firstterm>, and it is provided to
@@ -6413,8 +6513,26 @@
        syntax involves appending an <quote>at sign</quote>
        (<literal>@</literal>) and the peg revision to the end of the
        path with which the revision is associated.</para>
-
-    <para>But what of the <option>--revision</option>
+-->
+    <para>Mit der Version 1.1 führte Subversion eine Möglichkeit ein,
+      wie Sie ihm genau mitteilen können, welche Main Street Sie
+      meinten. Sie wird <firstterm>Peg-Revision</firstterm> genannt
+      und wurde Subversion alleinig zu dem Zweck mitgegeben, eine
+      eindeutige Linie in der Historie zu identifizieren. Da zu einer
+      gegebenen Zeit höchstens ein versioniertes Objekt einen Pfad
+      belegen kann – oder, genauer, in irgend einer Revision
+      – wird zum Referenzieren einer bestimmten Linie in der
+      Historie lediglich die Kombination aus Pfad und Peg-Revision
+      benötigt. Peg-Revisionen werden dem
+      Subversion-Kommandozeilen-Client in
+      <firstterm>At-Syntax</firstterm> mitgegeben, die so genannt
+      wird, da diese Syntax das Anhängen eines
+      <quote>At-Zeichens</quote> (<literal>@</literal>) und die
+      Peg-Revision an das Ende des mit der Revision verbundenen Pfades
+      vorsieht.</para>
+
+<!--
+    <para>But what of the <option>- -revision</option>
        (<option>-r</option>) of which we've spoken so much in this
        book?  That revision (or set of revisions) is called the
        <firstterm>operative revision</firstterm> (or
@@ -6437,41 +6555,100 @@
        throw in <quote>606 N.</quote> as our operative revision of
        sorts, and we know <emphasis>exactly</emphasis> where to
        go.</para>
+-->
+    <para>Doch was ist mit der Option <option>--revision</option>
+      (<option>-r</option>), von der wir in diesem Buch so oft
+      gesprochen haben? Diese Revision (oder Menge von Revisionen)
+      wird  <firstterm>operative Revision</firstterm> (oder
+      <firstterm>operativer Revisionsbereich</firstterm>) genannt.
+      Sobald durch den Pfad und die Peg-Revision eine bestimmte Linie
+      in der Historie identifiziert ist, führt Subversion die
+      verlangte Operation mit der/dem operativen
+      Revision/Revisionsbereich aus. Auf die Analogie mit den
+      Chicagoer Straßen angewendet, bedeutet das, wenn wir
+      aufgefordert werden, zu 606 N. Main Street in Wheaton
+      <footnote>
+        <para>606 N. Main Street, Wheaton, Illinois, ist die Heimat
+          des Wheaton <emphasis>Geschichts</emphasis>-Zentrums. Es
+          erschien angebracht….</para>
+      </footnote>
+      zu gehen, können wir uns <quote>Main Street</quote> als unseren
+      Pfad vorstellen und <quote>Wheaton</quote> als unsere
+      Peg-Revision. Diese beiden Teile an Informationen identifizieren
+      einen eindeutigen Pfad, der begangen werden kann (nördlich oder
+      südlich auf der Main Street), und es hält uns davon ab, auf der
+      Suche nach unserem Ziel, die falsche Main Street herauf oder
+      herunter zu laufen. Nun fügen wir noch <quote>606 N.</quote>
+      quasi als operative Revision hinzu, und wir wissen
+      <emphasis>genau</emphasis>, wo wir hin müssen.</para>

      <sidebar>
+<!--
        <title>The Peg Revision Algorithm</title>
-
+-->
+      <title>Der Algorithmus für Peg-Revisionen</title>
+
+<!--
        <para>The Subversion command-line client performs the peg revision
          algorithm any time it needs to resolve possible ambiguities in
          the paths and revisions provided to it.  Here's an example of
          such an invocation:</para>
+-->
+      <para>Der Kommandozeilen-Client von Subversion führt den
+        Peg-Revisions-Algorithmus immer dann aus, wenn er mögliche
+        Mehrdeutigkeiten in den übergebenen Pfaden und Revisionen
+        auflösen muss. Hier ist ein Beispiel für einen solchen
+        Aufruf:</para>

        <screen>
  $ svn <replaceable>command</replaceable> -r  
<replaceable>OPERATIVE-REV</replaceable>  
item@<replaceable>PEG-REV</replaceable>
  </screen>
-
+
+<!--
        <para>If <replaceable>OPERATIVE-REV</replaceable> is older than
          <replaceable>PEG-REV</replaceable>, the algorithm is as
          follows:</para>
+-->
+      <para>Falls <replaceable>OPERATIVE-REV</replaceable> älter als
+        <replaceable>PEG-REV</replaceable> ist, lautet der Algorithmus
+        wie folgt:</para>

        <orderedlist>
          <listitem>
+<!--
            <para>Locate <replaceable>item</replaceable> in the revision
              identified by <replaceable>PEG-REV</replaceable>.  There
              can be only one such object.</para>
+-->
+          <para>Ermittle den Ort von <replaceable>item</replaceable>
+            in der durch <replaceable>PEG-REV</replaceable>
+            identifizierten Revision. Es kann nur ein solches Objekt
+            geben.</para>
          </listitem>
          <listitem>
+<!--
            <para>Trace the object's history backwards (through any
              possible renames) to its ancestor in the revision
              <replaceable>OPERATIVE-REV</replaceable>.</para>
+-->
+          <para>Verfolge die Geschichte des Objektes rückwärts (durch
+            mögliche Umbenennungen hindurch) bis seinem Vorgänger in
+            der Revision
+            <replaceable>OPERATIVE-REV</replaceable>.</para>
          </listitem>
          <listitem>
+<!--
            <para>Perform the requested action on that ancestor,
              wherever it is located, or whatever its name might
              be or might have been at that time.</para>
+-->
+          <para>Führe die gewünschte Aktion auf diesem Vorgänger aus,
+            egal wo er sich befindet oder wie er heißt oder
+            damals hieß.</para>
          </listitem>
        </orderedlist>

+<!--
        <para>But what if <replaceable>OPERATIVE-REV</replaceable> is
          <emphasis>younger</emphasis> than
          <replaceable>PEG-REV</replaceable>?  Well, that adds some
@@ -6483,19 +6660,44 @@
          all—Subversion doesn't store enough information to
          performantly trace an object's history forward, anyway.  So
          the algorithm is a little different:</para>
+-->
+      <para>Aber was ist, falls <replaceable>OPERATIVE-REV</replaceable>
+        <emphasis>jünger</emphasis> ist als
+        <replaceable>PEG-REV</replaceable>? Nun, das erhöht den
+        Aufwand für das theoretische Problem der Ermittlung des Pfades
+        in <replaceable>OPERATIVE-REV</replaceable> etwas komplexer,
+        da die Geschichte des Pfades sich aufgrund von Kopiervorgängen
+        zwischen <replaceable>PEG-REV</replaceable> und
+        <replaceable>OPERATIVE-REV</replaceable> vervielfältigt haben
+        könnte. Aber das ist noch nicht alles – Subversion
+        speichert nicht genug Informationen, um die Geschichte eines
+        Objektes auf performante Weise vorwärts zu verfolgen. Also ist
+        der Algorithmus anders:</para>

        <orderedlist>
          <listitem>
+<!--
            <para>Locate <replaceable>item</replaceable> in the revision
              identified by <replaceable>OPERATIVE-REV</replaceable>.  There
              can be only one such object.</para>
+-->
+          <para>Ermittle den Ort von <replaceable>item</replaceable>
+            in der durch <replaceable>OPERATIVE-REV</replaceable>
+            identifizierten Revision. Es kann nur ein solches Objekt
+            geben.</para>
          </listitem>
          <listitem>
+<!--
            <para>Trace the object's history backward (through any
              possible renames) to its ancestor in the revision
              <replaceable>PEG-REV</replaceable>.</para>
+-->
+          <para>Verfolge die Geschichte des Objektes rückwärts (durch
+            mögliche Umbenennungen hindurch) bis seinem Vorgänger in
+            der Revision <replaceable>PEG-REV</replaceable>.</para>
          </listitem>
          <listitem>
+<!--
            <para>Verify that the object's location (path-wise) in
              <replaceable>PEG-REV</replaceable> is the same as it is in
              <replaceable>OPERATIVE-REV</replaceable>.  If that's the
@@ -6507,9 +6709,23 @@
              (Someday, we expect that Subversion will be able to handle
              this usage scenario with more flexibility and
              grace.)</para>
+-->
+          <para>Stelle sicher, dass der (pfadmäßige) Ort des Objekts in
+            <replaceable>PEG-REV</replaceable> der selbe ist wie in
+            <replaceable>OPERATIVE-REV</replaceable>. Falls das der
+            Fall ist, stehen mindestens zwei Orte direkt miteinander
+            in Beziehung, so dass die gewünschte Aktion am Ort von
+            <replaceable>OPERATIVE-REV</replaceable> durchgeführt
+            werden kann. Falls nicht, konnte keine Beziehung
+            hergestellt werden, so dass eine Fehlermeldung ausgegeben
+            wird, das kein brauchbarer Ort ermittelt werden konnte.
+            (Wir erwarten, dass Subversion eines Tages in der Lage
+            sein wird, diesen Anwendungsfall flexibler und höflicher
+            zu behandeln.)</para>
          </listitem>
        </orderedlist>

+<!--
        <para>Note that even when you don't explicitly supply a peg
          revision or operative revision, they are still present.  For
          your convenience, the default peg revision is
@@ -6517,9 +6733,18 @@
          <literal>HEAD</literal> for repository URLs.  And when no
          operative revision is provided, it defaults to being the same
          revision as the peg revision.</para>
-
+-->
+      <para>Beachten Sie, dass Peg-revisonen auch dann vorhanden sind,
+        falls Sie keine Peg- oder operative Revision angeben. Der
+        Einfachheit halber ist die standardmäßige Peg-Revision für
+        Objekte in der Arbeitskopie <literal>BASE</literal> und
+        <literal>HEAD</literal> für URLs im Projektarchiv. Und wird
+        keine operative Revision angegeben, wird standardmäßig die
+        selbe Revision wie die Peg-revision angenommen.</para>
+
      </sidebar>

+<!--
      <para>Say that long ago we created our repository, and in revision 1
        we added our first <filename>concept</filename> directory, plus an
        <filename>IDEA</filename> file in that directory talking about
@@ -6530,7 +6755,21 @@
        hold it, and a new <filename>IDEA</filename> file to describe
        it.  And then five years and thousands of revisions flew by,
        just like they would in any good romance story.</para>
-
+-->
+    <para>Angenommen, dass unser Projektarchiv vor langer Zeit
+      angelegt wurde, und wir in Revision 1 das erste Verzeichnis
+      <filename>concept</filename> anlegten, darin  eine Datei
+      <filename>IDEA</filename>, die das Konzept beschreibt. Nach
+      einigen Revisionen, in denen echter Quellcode hinzugefügt und
+      verändert wurde, benannten wir in Revision 20 dieses Verzeichnis
+      in <filename>frabnaggilywort</filename> um. Bis Revision 27
+      hatten wir ein neues Konzept, ein neues
+      <filename>concept</filename>-Verzeichnis dafür und eine neue
+      Datei <filename>IDEA</filename> zur Beschreibung. Dann zogen
+      fünf Jahre und tausende Revisionen ins Land wie es auch in jeder
+      guten Liebesgeschichte passiert.</para>
+
+<!--
      <para>Now, years later, we wonder what the
        <filename>IDEA</filename> file looked like back in revision 1.
        But Subversion needs to know whether we are asking about how the
@@ -6541,25 +6780,59 @@
        revisions, you can ask those questions.  To find out how the
        current <filename>IDEA</filename> file looked in that old
        revision, you run:</para>
-
+-->
+    <para>Nun, Jahre später, fragen wir uns, wie die Datei
+      <filename>IDEA</filename> damals in Revision 1 aussah.
+      Subversion muss jedoch wissen, ob wir nach der
+      <emphasis>aktuellen</emphasis> Datei in Revision 1 fragen oder
+      nach dem Inhalt irgendeiner Datei, die in Revision 1 an der
+      Stelle <filename>concepts/IDEA</filename> zu finden war.
+      Sicherlich haben diese Fragen unterschiedliche Antworten, und
+      Dank der Peg-Revisionen können Sie danach fragen. Um zu sehen,
+      wie die altuelle Datei <filename>IDEA</filename> in dieser alten
+      Revision aussah, tippen Sie:</para>
+
+<!--
      <screen>
  $ svn cat -r 1 concept/IDEA
  svn: Unable to find repository location for 'concept/IDEA' in revision 1
  </screen>
-
+-->
+    <screen>
+$ svn cat -r 1 concept/IDEA
+svn: Kann »concept/IDEA« in Revision 1 nicht im Projektarchiv finden
+</screen>
+
+<!--
      <para>Of course, in this example, the current
        <filename>IDEA</filename> file didn't exist yet in revision 1,
        so Subversion gives an error.  The previous command is shorthand
        for a longer notation which explicitly lists a peg revision.
        The expanded notation is:</para>
-
+-->
+    <para>In diesem Beispiel gab es die aktuelle Datei
+      <filename>IDEA</filename> natürlich noch nicht in Revision 1, so
+      dass Subversion einen Fehler ausgibt. Der letzte Befehl ist eine
+      Kurzform der längeren Form, die explizit eine Peg-Revision
+      aufführt. Die ausfüphrliche Notation lautet:</para>
+
+<!--
      <screen>
  $ svn cat -r 1 concept/IDEA at BASE
  svn: Unable to find repository location for 'concept/IDEA' in revision 1
  </screen>
-
+-->
+    <screen>
+$ svn cat -r 1 concept/IDEA at BASE
+svn: Kann »concept/IDEA« in Revision 1 nicht im Projektarchiv finden
+</screen>
+
+<!--
      <para>And when executed, it has the expected results.</para>
-
+-->
+    <para>Beim Ausführen kommt es dann zum erwarteten Ergebnis.</para>
+
+<!--
      <para>The perceptive reader is probably wondering at this point whether
        the peg revision syntax causes problems for working copy paths
        or URLs that actually have at signs in them.  After
@@ -6576,11 +6849,36 @@
        even applies to paths that end in an at sign—you would
        use <literal>filename@@</literal> to talk about a file named
        <filename>filename@</filename>.</para>
-
+-->
+    <para>Der scharfsinnige Leser fragt sich an dieser Stelle
+      wahrscheinlich, ob die Syntax der Peg-Revisionen problematisch
+      für Pfade in Arbeitskopien oder URLs sein kann, die At-Zeichen
+      beinhalten. Woher weiß <command>svn</command> letztendlich, ob
+      <literal>news at 11</literal> der Name eines Verzeichnisses in
+      meinem Baum ist oder nur die Syntax für <quote>Revision 11 von
+        <filename>news</filename></quote>? Während
+      <command>svn</command> stets letzteres annimt, gibt es
+      glücklicherweise eine Abhilfe. Sie brauchgen lediglich ein
+      At-Zeichen am Ende des Pfades anfügen, etwa
+      <literal>news at 11@</literal>.  <command>svn</command> schert sich
+      nur um das letzte At-Zeichen im Argument, und es ist nicht
+      verboten, nach dem At-Zeichen die Angabe der Peg-Revision
+      auszulassen. Diese Abhilfe gilt sogar für Pfade, die auf ein
+      At-Zeichen enden – Sie würden
+      <literal>filename@@</literal> verwenden, um sich auf eine Datei
+      namens <filename>filename@</filename> zu beziehen..</para>
+
+<!--
      <para>Let's ask the other question, then—in revision 1, what
        were the contents of whatever file occupied the address
        <filename>concepts/IDEA</filename> at the time?  We'll use an
        explicit peg revision to help us out.</para>
+-->
+    <para>Stellen wir nun die andere Frage. Was war der Inhalt der
+      Datei, die sich zum Zeitpunkt von Revision 1 am Ort von
+      <filename>concepts/IDEA</filename> befand? Um das
+      herauszufinden, verwenden wir eine explizite
+      Peg-Revision.</para>

      <screen>
  $ svn cat concept/IDEA at 1
@@ -6591,11 +6889,18 @@
  mechanisms.
  </screen>

+<!--
      <para>Notice that we didn't provide an operative revision this
        time.  That's because when no operative revision is specified,
        Subversion assumes a default operative revision that's the same
        as the peg revision.</para>
-
+-->
+    <para>Beachten Sie, dass wir dieses Mal keine operative Revision
+      angegeben haben. Wenn nämlich keine operative Revision angegeben
+      wird, nimmt Subversion standardmäßig an, dass die operative
+      Revision die selbe wie die Peg-Revision ist.</para>
+
+<!--
      <para>As you can see, the output from our operation appears to be
        correct.  The text even mentions frabbing naggily worts, so this
        is almost certainly the file that describes the software now
@@ -6608,6 +6913,19 @@
        <literal>HEAD</literal> as the path
        <filename>frabnaggilywort/IDEA</filename> looked in revision
        1.</para>
+-->
+    <para>Wie Sie sehen, scheint die Ausgabe unserer Operation korrekt
+      zu sein. Der Text erwähnt sogar <quote>frabbing naggily
+        worts</quote>, so dass es höchstwahrscheinlich die Datei ist,
+      die die Software beschreibt, die nun  Frabnaggilywort heißt. Wir
+      können das tatsächlich überprüfen, indem wir die Kombination aus
+      expliziter Peg-Revision und expliziter operativer Revision
+      verwenden. Wir wissen, dass in <literal>HEAD</literal> das
+      Projekt Frabnaggilywort im Verzeichnis
+      <filename>frabnaggilywort</filename> liegt. Also geben wir an,
+      dass wir sehen möchten, wie sich die Historie in Revision 1
+      identifizierte, die in <literal>HEAD</literal> als
+      <filename>frabnaggilywort/IDEA</filename> bekannt ist.</para>

      <screen>
  $ svn cat -r 1 frabnaggilywort/IDEA at HEAD
@@ -6618,6 +6936,7 @@
  mechanisms.
  </screen>

+<!--
      <para>And the peg and operative revisions need not be so trivial,
        either.  For example, say <filename>frabnaggilywort</filename>
        had been deleted from <literal>HEAD</literal>, but we know it
@@ -6627,6 +6946,17 @@
        would have held Frabnaggilywort's <filename>IDEA</filename> file
        in revision 20, and then use 4 and 10 as our operative revision
        range.</para>
+-->
+    <para>Auch brauchen Peg und operative Revisionen nicht so trivial
+      zu sein. Sagen wir beispielsweise, das Verzeichnis
+      <filename>frabnaggilywort</filename> sei aus
+      <literal>HEAD</literal> gelöscht, wir wissen aber, dass es in
+      Revision 20 existierte, und wir wollen die Unterschiede der
+      Datei <filename>IDEA</filename> zwischen den Revisionen 4 und 10
+      sehen. Wir können die Peg-Revision 20 in Verbindung mit dem URL,
+      verwenden, der sich auf Frabnaggilyworts Datei
+      <filename>IDEA</filename> in Revision 20 bezog, und dann 4 und
+      10 als operativen Revisionsbereich verwenden.</para>

      <screen>
  $ svn diff -r 4:10 http://svn.red-bean.com/projects/frabnaggilywort/IDEA@20
@@ -6647,9 +6977,16 @@
  +input validation and data verification mechanisms.
  </screen>

+<!--
      <para>Fortunately, most folks aren't faced with such complex
        situations.  But when you are, remember that peg revisions are
        that extra hint Subversion needs to clear up ambiguity.</para>
+-->
+    <para>Glücklicherweise sind die meisten Leute nicht von solch
+      komplizierten Situationen betroffen. Sollte das für Sie aber
+      zutreffen, denken Sie daran, dass es sich bei Peg-Revisionen um
+      diesen extra Hinweis handelt, den Subversion benötigt, um
+      Mehrdeutigkeiten zu beseitigen.</para>

    </sect1>



More information about the svnbook-dev mailing list