[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