[svnbook commit] r3333 - trunk/src/de/book
jmfelderhoff
noreply at red-bean.com
Mon Oct 20 15:11:51 CDT 2008
Author: jmfelderhoff
Date: Mon Oct 20 15:11:51 2008
New Revision: 3333
Log:
* trunk/src/de/book/ch04-branching-and-merging.xml
- Task #156 (cf. http://www.svnbook.de/report/6).
Modified:
trunk/src/de/book/ch04-branching-and-merging.xml
Modified: trunk/src/de/book/ch04-branching-and-merging.xml
==============================================================================
--- trunk/src/de/book/ch04-branching-and-merging.xml (original)
+++ trunk/src/de/book/ch04-branching-and-merging.xml Mon Oct 20 15:11:51 2008
@@ -2251,8 +2251,12 @@
<!-- =============================================================== -->
<sect2 id="svn.branchmerge.cherrypicking">
+<!--
<title>Cherrypicking</title>
+-->
+ <title>Die Rosinen herauspicken</title>
+<!--
<para>Just as the term <quote>changeset</quote> is often used in
version control systems, so is the term
<firstterm>cherrypicking</firstterm>. This word refers to
@@ -2264,7 +2268,21 @@
typical merging scenarios, where the <quote>next</quote>
contiguous range of revisions is duplicated
automatically.</para>
+-->
+ <para>Genauso oft wie der Begriff <quote>Änderungsmenge</quote>
+ wird die Wendung <firstterm>die Rosinen
+ herauspicken</firstterm> in Versionskontrollsystemen
+ verwendet. Das bezieht sich darauf, <emphasis>eine</emphasis>
+ bestimmte Änderungsmenge von einem Zweig auszuwählen und sie
+ auf einen anderen anzuwenden. Die Rosinen herauszupicken kann
+ sich auch darauf beziehen, eine bestimmte Menge von (nicht
+ notwendigerweise angrenzenden) Änderungsmengen von einem auf
+ einen anderen Zweig zu duplizieren. Dies steht im Gegensatz zu
+ den üblicheren Zusammenführungs-Szenarien, bei denen der
+ <quote>nächste</quote> zusammenhängende Bereich von Revisionen
+ automatisch dupliziert wird.</para>
+<!--
<para>Why would people want to replicate just a single change?
It comes up more often than you'd think. For example, let's
go back in time and imagine that you haven't yet merged your
@@ -2277,6 +2295,22 @@
to merge all the trunk changes to your branch just yet, but
you certainly need that particular bug fix in order to continue
your work.</para>
+-->
+ <para>Warum sollte jemand nur eine einzelne Änderung wollen? Das
+ kommt häufiger vor, als Sie denken. Gehen wir beispielsweise
+ einmal zurück in die Vergangenheit und stellen uns vor, dass
+ Sie Ihren Zweig noch nicht wieder mit dem Stamm
+ zusammengeführt hätten. In der Kaffeeküche bekommen Sie mit,
+ dass Sally eine interessante Änderung an
+ <filename>integer.c</filename> auf dem Stamm gemacht hat. Als
+ Sie sich die Geschichte der Übergaben auf dem Stamm ansehen,
+ entdecken Sie, dass sie in Revision 355 einen kritischen
+ Fehler beseitigt hat, der direkte Auswirkungen auf die
+ Funktion hat, an der Sie gerade arbeiten. Es kann sein, dass
+ Sie noch nicht bereit sind, alle Änderungen vom Stamm zu
+ übernehmen, jedoch benötigen Sie diese bestimmte
+ Fehlerbehebung, um mit Ihrer Arbeit weitermachen zu
+ können.</para>
<screen>
$ svn diff -c 355 http://svn.example.com/repos/calc/trunk
@@ -2296,9 +2330,15 @@
case 12: sprintf(info->operating_system, "QDOS"); break;
</screen>
+<!--
<para>Just as you used <command>svn diff</command> in the prior
example to examine revision 355, you can pass the same option
to <command>svn merge</command>:</para>
+-->
+ <para>Ebenso wie Sie <command>svn diff</command> im vorigen
+ Beispiel benutzt haben, um sich Revision 355 anzusehen, können
+ Sie die gleiche Option an <command>svn merge</command>
+ übergeben:</para>
<screen>
$ svn merge -c 355 http://svn.example.com/repos/calc/trunk
@@ -2308,6 +2348,7 @@
M integer.c
</screen>
+<!--
<para>You can now go through the usual testing procedures before
committing this change to your branch. After the commit,
Subversion marks r355 as having been merged to the branch so
@@ -2315,6 +2356,15 @@
branch with the trunk know to skip over r355. (Merging the
same change to the same branch almost always results in a
conflict!)</para>
+-->
+ <para>Sie können nun Ihre üblichen Tests durchführen, bevor Sie
+ diese Änderung an den Zweig übergeben. Nach der Übergabe merkt
+ sich Subversion, dass r355 mit dem Zweig zusammengeführt
+ wurde, so dass künftige <quote>magische</quote>
+ Zusammenführungen, die Ihren Zweig mit dem Stamm
+ synchronisieren, r355 überspringen. (Das Zusammenführen
+ derselben Änderung auf denselben Zweig führt fast immer zu
+ einem Konflikt!)</para>
<screen>
$ cd my-calc-branch
@@ -2347,6 +2397,7 @@
U button.c
</screen>
+<!--
<para>This use case of replicating
(or <firstterm>backporting</firstterm>) bug fixes from one
branch to another is perhaps the most popular reason for
@@ -2354,8 +2405,18 @@
when a team is maintaining a <quote>release branch</quote> of
software. (We discuss this pattern in
<xref linkend="svn.branchmerge.commonpatterns.release"/>.)</para>
+-->
+ <para>Dieser Anwendungsfall des Abgleichens (oder
+ <firstterm>Nachziehens</firstterm>) von Fehlerbehebungen von
+ einem Zweig zu einem anderen ist vielleicht der gängiste Grund
+ für Änderungen, die Rosinen herauspicken; es kommt ständig
+ vor, beispielsweise, wenn ein Team einen
+ <quote>Software-Release-Zweig</quote> verwendet. (Wir
+ erörtern dieses Muster in <xref
+ linkend="svn.branchmerge.commonpatterns.release"/>.)</para>
<warning>
+<!--
<para>Did you notice how, in the last example, the merge
invocation caused two distinct ranges of merges to be
applied? The <command>svn merge</command> command applied
@@ -2375,8 +2436,36 @@
versions of Subversion.</para>
</footnote>
</para>
+-->
+ <para>Haben Sie bemerkt, wie im letzten Beispiel der Aufruf
+ von <command>svn merge</command> dazu geführt hat, zwei
+ unterschiedliche Abgleichsintervalle anzuwenden? Der Befehl
+ führte zwei unabhängige Patches auf Ihrer Arbeitskopie aus,
+ um die Änderungsmenge 355 zu überspringen, die Ihr Zweig
+ bereits beinhaltete. An und für sich ist daran nichts
+ falsch, bis auf die Tatsache, dass die Möglichkeit besteht,
+ eine Konfliktauflösung komplizierter zu machen. Falls das
+ erste Änderungsintervall Konflikte erzeugt,
+ <emphasis>müssen</emphasis> Sie diese interaktiv auflösen,
+ um die Zusammenführung fortzusetzen und das zweite
+ Änderungsintervall anzuwenden. Wenn Sie die
+ Konfliktauflösung der ersten Phase aufschieben, wird der
+ komplette Zusammenführungsbefehl mit einer Fehlermeldung
+ abbrechen.
+ <footnote>
+<!--
+ <para>At least, this is true in Subversion 1.5 at the time
+ of this writing. This behavior may improve in future
+ versions of Subversion.</para>
+-->
+ <para>Zumindest trifft das zur Zeit für Subversion 1.5 zu.
+ Dieses Verhalten könnte sich in künftigen Versionen von
+ Subversion verbessern.</para>
+ </footnote>
+ </para>
</warning>
+<!--
<para>A word of warning: while <command>svn diff</command> and
<command>svn merge</command> are very similar in concept, they
do have different syntax in many cases. Be sure to read about
@@ -2386,19 +2475,40 @@
a place where it should apply the generated patch. If the
target isn't specified, it assumes you are trying to perform
one of the following common operations:</para>
+-->
+ <para>Ein Wort zur Warnung: Während <command>svn diff</command>
+ und <command>svn merge</command> vom Konzept her sehr ähnlich
+ sind, haben sie in vielen Fällen eine unterschiedliche Syntax.
+ Gehen Sie sicher, dass Sie Details hierzu in <xref
+ linkend="svn.ref"/> nachlesen oder <command>svn help</command>
+ fragen. Zum Beispiel benötigt <command>svn merge</command>
+ einen Pfad in der Arbeitskopie als Ziel, d.h., einen Ort, an
+ dem es den erzeugten Patch anwenden kann. Falls das Ziel
+ nicht angegeben wird, nimmt es an, dass Sie eine der folgenden
+ häufigen Operationen durchführen möchten:</para>
<itemizedlist>
<listitem>
+<!--
<para>You want to merge directory changes into your current
working directory.</para>
+-->
+ <para>Sie möchten Verzeichnisänderungen auf Ihr aktuelles
+ Arbeitsverzeichnis abgleichen.</para>
</listitem>
<listitem>
+<!--
<para>You want to merge the changes in a specific file into
a file by the same name that exists in your current working
directory.</para>
+-->
+ <para>Sie möchten die Änderungen in einer bestimmten Datei
+ mit einer Datei gleichen Namens in Ihrem aktuellen
+ Arbeitsverzeichnis zusammenführen.</para>
</listitem>
</itemizedlist>
+<!--
<para>If you are merging a directory and haven't specified a
target path, <command>svn merge</command> assumes the first
case and tries to apply the changes into your current
@@ -2407,6 +2517,16 @@
directory,
<command>svn merge</command> assumes the second case and tries
to apply the changes to a local file with the same name.</para>
+-->
+ <para>Falls Sie ein Verzeichnis zusammenführen und keinen
+ Zielpfad angegeben haben, nimmt <command>svn merge</command>
+ den ersten Fall an und versucht, die Änderungen auf Ihr
+ aktuelles Arbeitsverzeichnis anzuwenden. Falls Sie eine Datei
+ zusammenführen und diese Datei (oder eine gleichnamige Datei)
+ in Ihrem aktuellen Arbeitsverzeichnis existiert, nimmt
+ <command>svn merge</command> den zweiten Fall an und wendet
+ die Änderungen auf eine lokale Datei gleichen Namens
+ an.</para>
</sect2>
More information about the svnbook-dev
mailing list