[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