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

svnbook at googlecode.com svnbook at googlecode.com
Tue Oct 26 14:40:19 CDT 2010


Revision: 3810
Author: jmfelderhoff at gmx.eu
Date: Tue Oct 26 12:39:02 2010
Log: * trunk/src/de/book/ch03-advanced-topics.xml
   - Ticket #137 (introduction) (cf. http://www.svnbook.de/ticket/137).

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

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

=======================================
--- /trunk/src/de/book/ch03-advanced-topics.xml	Fri Oct  8 10:21:54 2010
+++ /trunk/src/de/book/ch03-advanced-topics.xml	Tue Oct 26 12:39:02 2010
@@ -4284,8 +4284,12 @@
    <!-- =================================================================  
-->
    <!-- =================================================================  
-->
    <sect1 id="svn.advanced.locking">
+<!--
      <title>Locking</title>
-
+-->
+    <title>Sperren</title>
+
+<!--
      <para>Subversion's copy-modify-merge version control model lives
        and dies on its data merging algorithms—specifically on
        how well those algorithms perform when trying to resolve
@@ -4304,7 +4308,30 @@
        when you can't find a tool that can handle that type of merging,
        you begin to run into problems with the copy-modify-merge
        model.</para>
-
+-->
+    <para>Das Kopieren-Ändern-Zusammenfassen-Modell von Subversion
+      lebt und stirbt mit dessen Zusammenführungs-Algorithmen –
+      besonders dann, wenn es um die Fähigkeit dieser Algorithmen
+      geht, Konflikte aufzulösen, die durch die gleichzeitigen
+      Änderungen mehrerer Benutzer an derselben Datei hervorgerufen
+      worden sind. Subversion bringt von sich aus nur einen derartigen
+      Algorithmus mit: ein Dreiwege-Vergleichs-Algorithmus, der über
+      ausreichend Intelligenz verfügt, um Daten mit der Granularität
+      einer einzelnen Textzeile zu bearbeiten. Subversion erlaubt
+      Ihnen auch, seine Zusammenführungs-Operationen mit externen
+      Werkzeugen zu ergänzen (wie in <xref
+        linkend="svn.advanced.externaldifftools.diff3" />
+      beschrieben), von denen manche die Arbeit besser erledigen
+      könnten, indem sie vielleicht die Granularität eines Wortes oder
+      eines einzelnen Buchstaben bieten. Allerdings ist all diesen
+      Algorithmen gemein, dass sie im Allgemeinen nur auf Textdateien
+      arbeiten. Wenn es um nichttextuelle Dateiformate geht, sieht es
+      ziemlich übel aus. Und falls Sie kein Werkzeug finden, das mit
+      dieser Art von Zusammenführungen zurechtkommt, wirft das
+      Kopieren-Ändern-Zusammenfassen-Model Probleme für Sie
+      auf.</para>
+
+<!--
     <para>Let's look at a real-life example of where this model runs
        aground.  Harry and Sally are both graphic designers working on
        the same project, a bit of marketing collateral for an
@@ -4315,7 +4342,19 @@
        particular photo they chose for their damaged car—a baby
        blue 1967 Ford Mustang with an unfortunate bit of crumpling on
        the left front fender.</para>
-
+-->
+   <para>Betrachten wir einmal ein Beispiel aus dem echten Leben, an
+     dem dieses Modell scheitert. Harry und Sally sind Grafikdesigner
+     und arbeiten am selben Projekt, ein bisschen Werbematerial für
+     einen Automechaniker. Das Design für ein bestimmtes Plakat
+     dreht sich um ein Bild, das ein reparaturbedürftiges Auto  zeigt
+     und in einer PNG-Datei abgelegt ist. Der Entwurf für das Plakat
+     ist beinahe fertig, und sowohl Harry als auch Sally sind mit der
+     Wahl des Fotos mit dem beschädigten Auto zufrieden – ein
+     babyblauer 1967er Ford Mustang mit einer bedauerlichen Delle im
+     Kotflügel vorne links.</para>
+
+<!--
      <para>Now, as is common in graphic design work, there's a change
        in plans, which causes the car's color to be a concern.  So Sally
        updates her working copy to <literal>HEAD</literal>, fires up
@@ -4331,7 +4370,26 @@
        car's new finish and tries to commit her changes.  But, as
        expected, Subversion fails the commit, informing Sally that
        her version of the image is now out of date.</para>
-
+-->
+    <para>Nun gibt es eine, im Grafikdesign übliche, Planänderung, was
+      dazu führt, dass es Bedenken hinsichtlich der Farbe des Wagens
+      gibt. Also aktualisiert Sally ihre Arbeitskopie auf
+      <literal>HEAD</literal>, startet ihre Fotobearbeitungs-Software
+      und ändert das Bild, so dass das Auto nun kirschrot ist.
+      Zwischenzeitlich denkt sich Harry, der sich heute besonders
+      inspiriert fühlt, dass die Wirkung des Bildes verstärkt würde,
+      wenn der Wagen so aussähe, als habe er einen heftigeren Aufprall
+      verkraften müssen. Auch er akltualisiert auf
+      <literal>HEAD</literal> und malt ein paar Risse auf die
+      Windschutzscheibe. Er ist vor Sally fertig und überträgt das
+      veränderte Bild, nachdem er die Früchte seines unbestreitbaren
+      Talents bewundert hat. Kurz danach ist Sally mit der neuen
+      Autolackierung fertig und versucht, ihre Änderungen zu
+      übertragen. Aber Subversion lässt, wie erwartet, die Übertragung
+      scheitern und teilt Sally mit, dass ihre Version des Bildes nun
+      veraltet sei.</para>
+
+<!--
      <para>Here's where the difficulty sets in.  If Harry and Sally
        were making changes to a text file, Sally would simply update
        her working copy, receiving Harry's changes in the process.  In
@@ -4346,7 +4404,22 @@
        against, the changes that Harry made, and the changes that Sally
        made, and then spit out an image of a busted-up red Mustang with
        a cracked windshield!</para>
-
+-->
+    <para>Hier fangen die Schwierigkeiten an. Falls Harry und Sally
+      Änderungen an einer Textdatei machten, aktualisierte Sally
+      einfach ihre Arbeitskopie und erhielt dabei Harrys Änderungen.
+      Schlimmstenfalls hätten beide denselben Dateiabschnitt
+      verändert, und Sally müste den Konflikt manuell auflösen. Aber
+      es sind keine Textdateien – es sind binäre Bilder. Während
+      es einfach ist, das erwartete Ergebnis der Zusammenführung der
+      Inhalte zu beschreiben, ist die Wahrscheinlichkeit ziemlich
+      gering, dass es eine Software gibt, die über ausreichend
+      Intelligenz verfügt, das Bild auf dem beide Änderungen basieren,
+      die Änderungen von Harry und die Änderungen von Sally zu
+      untersuchen, um anschliessend das Bild eines verbeulten roten
+      Mustangs mit gesprungener Windschutzscheibe auszugeben.</para>
+
+<!--
      <para>Of course, things would have gone more smoothly if Harry and
        Sally had serialized their modifications to the image—if, say,
        Harry had waited to draw his windshield cracks on Sally's
@@ -4369,7 +4442,32 @@
        feature, which is similar to the <quote>reserved
        checkouts</quote> mechanisms of other version control
        systems.</para>
-
+-->
+    <para>Natürlich wäre es glatter gelaufen, wenn Harry und Sally
+      ihre Änderungen an dem Bild nacheinander gemacht hätten –
+      wenn etwa Harry gewartet hätte und seinen Sprung in der
+      Windschutzscheibe auf Sallys nun roten Wagen gezeichnet hätte,
+      oder wenn Sally die Farbe eines Autos mit bereits gesprungener
+      Windschutzscheibe geändert hätte. Wie in <xref
+      linkend="svn.basic.vsn-models.copy-merge" /> erörtert,
+      verschwindeten die meisten dieser Probleme vollständig, wenn
+      Harry und Sallys Kommunikation perfekt wäre.
+      <footnote>
+        <para>Kommunikation wäre insofern auch keine schlechte Medizin
+          für die gleichnamigen Harry und Sally aus Hollywood gewesen.
+        </para>
+      </footnote>
+      Aus der Tatsache,  dass das eigene Versionskontrollsystem eine
+      Kommunikationsform darstellt, folgt, dass es keine schlechte
+      Sache wäre, wenn diese Software die Serialisierung von nicht
+      parallel durchführbaren Änderungen ermöglichte. Hier ist der
+      Zeitpunkt für die Subversion-Implementierung des
+      Sperren-Ändern-Freigeben-Modells gekommen. Hier reden wir nun
+      über das <firstterm>Sperren</firstterm> in Subversion, das in
+      etwa den <quote>Reserved Checkouts</quote> anderer
+      Versionskontrollsysteme entspricht.</para>
+
+<!--
      <para>Subversion's locking feature exists ultimately to minimize
        wasted time and effort.  By allowing a user to programmatically
        claim the exclusive right to change a file in the repository,
@@ -4382,7 +4480,24 @@
        then avoid wasting their time and energy on unmergeable changes
        that won't be committable due to eventual
        out-of-dateness.</para>
-
+-->
+    <para>Letztendlich existiert der Sperrmechanismus von Subversion,
+      um die Verschwendung von Aufwand und Zeit zu minimieren. Indem
+      einem Benutzer erlaubt wird, programmatisch das Exklusivrecht
+      zum Ändern einer Datei im Projektarchiv in Anspruch zu nehmen,
+      kann dieser Benutzer sich ziemlich sicher sein, dass die von ihm
+      aufgebrachte Energie für nicht zusammenführbare Änderungen nicht
+      verschwendet war – die Übersendung seiner Änderungen wird
+      erfolgreich sein. Da Subversion auch den anderen Benutzern
+      mitteilt, dass für ein bestimmtes versioniertes Objekt die
+      Serialisierung aktiviert wurde, können diese Benutzer
+      vernünftigerweise erwarten, dass dieses Objekt gerade von jemand
+      anderen geändert wird. Auch sie können dann die Verschwendung
+      ihrer Zeit und Energie für nicht zusammenführbare Änderungen
+      vermeiden, die dann schliesslich wegen magelnder Aktualität
+      nicht übertragen werden könnten.</para>
+
+<!--
      <para>When referring to Subversion's locking feature, one is
        actually talking about a fairly diverse collection of behaviors,
        which include the ability to lock a versioned file
@@ -4395,17 +4510,47 @@
        files for which locking before editing is strongly advised, and
        so on.  In this section, we'll cover all of these facets of the
        larger locking feature.</para>
+-->
+    <para>Wenn sich auf den Sperrmechanismus von Subversion bezogen
+      wird, ist eigentlich die Rede von einer ziemlich facettenreichen
+      Ansammlung von Verhaltensweisen, die die Fähigkeit beinhaltet,
+      eine versionierte Datei zu sperren
+      <footnote>
+        <para>Momentan erlaubt Subversion nicht das Sperren von
+          Verzeichnissen.</para>
+      </footnote>
+      (die exklusive Berechtigung zum Ändern der Datei in Anspruch zu
+      nehmen), die Datei freizugeben (die exklusive
+      Änderungsberechtigung abzugeben), Berichte zu liefern, welche
+      Dateien von wem gesperrt sind, Dateien mit Vermerken zu
+      versehen, die das Sperren vor dem Ändern dringend empfehlen usw.
+      In diesem Abschnitt behandeln wir all diese Facetten des
+      umfangreicheren Sperrmechanismus.</para>

      <sidebar id="svn.advanced.locking.meanings">
+<!--
        <title>The Three Meanings of <quote>Lock</quote></title>
-
+-->
+      <title>Die drei Bedeutungen von <quote>Sperre</quote></title>
+
+<!--
        <para>In this section, and almost everywhere in this book, the
          words <quote>lock</quote> and <quote>locking</quote> describe
          a mechanism for mutual exclusion between users to avoid
          clashing commits.  Unfortunately, there are two other sorts
          of <quote>lock</quote> with which Subversion, and therefore
          this book, sometimes needs to be concerned.</para>
-
+-->
+      <para>In diesem Abschnitt, und fast überall in diesem Buch,
+        beschreiben die Wörter <quote>Sperre</quote> und
+        <quote>sperren</quote> einen Mechanismus des gegenseitigen
+        Ausschlusses zwischen Benutzern, um kollidierende
+        Übertragungen zu vermeiden. Unglücklicherweise gibt es noch
+        zwei weitere Arten von <quote>Sperre</quote> mit dem sich
+        manchmal Subversion, und somit auch dieses Buch, befassen
+        muss.</para>
+
+<!--
        <para>The second is <firstterm>working copy locks</firstterm>,
          used internally by Subversion to prevent clashes between
          multiple Subversion clients operating on the same working
@@ -4414,7 +4559,18 @@
          <command>svn status</command> output, and removed by the
          <command>svn cleanup</command> command, as described in <xref
          linkend="svn.tour.cleanup"/>.</para>
-
+-->
+      <para>Die zweite Art sind
+        <firstterm>Arbeitskopie-Sperren</firstterm>, die intern von
+        Subversion verwendet werden, um Kollisionen zwischen mehereren
+        Subversion-Clients zu verhindern, die in derselben
+        Arbeitskopie arbeiten. Diese Art Sperre wird durch ein
+        <computeroutput>L</computeroutput> in der dritten Spalte der
+        Ausgabe von <command>svn status</command> angezeigt und durch
+        den Befehl <command>svn cleanup</command> entfernt, wie in
+        <xref linkend="svn.tour.cleanup"/> beschrieben.</para>
+
+<!--
        <para>Third, there are <firstterm>database locks</firstterm>,
          used internally by the Berkeley DB backend to prevent clashes
          between multiple programs trying to access the database.  This
@@ -4422,12 +4578,30 @@
          can cause a repository to be <quote>wedged,</quote> as
          described in <xref linkend="svn.reposadmin.maint.recovery"
          />.</para>
-
+-->
+      <para>Zum Dritten gibt es
+        <firstterm>Datenbank-Sperren</firstterm>, die intern vom
+        Berkeley-DB-Backend verwendet werden, um Kollisionen zwischen
+        mehreren Programmen zu verhindern, die auf die Datenbank
+        zugreifen möchten. Dies ist die Sorte von Sperren, deren
+        unerwünschte Persistenz nach einem Fehler dazu führen kann,
+        dass das Projektarchiv sich <quote>verklemmt</quote>, wie in
+        <xref linkend="svn.reposadmin.maint.recovery" />
+        beschrieben.</para>
+
+<!--
        <para>You can generally forget about these other kinds of locks
          until something goes wrong that requires you to care about
          them.  In this book, <quote>lock</quote> means the first sort
          unless the contrary is either clear from context or explicitly
          stated.</para>
+-->
+      <para>Im Allgemeinen können Sie diese anderen Arten von Sperren
+        vergessen bis irgendetwas schief geht, und Sie sich wieder
+        damit beschäftigen müssen. In diesem Buch bedeutet
+        <quote>Sperre</quote> die erste Art, solange das Gegenteil
+        nicht aus dem Zusammenhang hervorgeht oder ausdrücklich
+        erwähnt wird.</para>

      </sidebar>



More information about the svnbook-dev mailing list