[svnbook commit] r3387 - trunk/src/de/book

jmfelderhoff noreply at red-bean.com
Mon Dec 22 12:39:33 CST 2008


Author: jmfelderhoff
Date: Mon Dec 22 12:39:33 2008
New Revision: 3387

Log:
* trunk/src/de/book/ch04-branching-and-merging.xml
  - Ticket #175 (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 Dec 22 12:39:33 2008
@@ -4989,8 +4989,12 @@
 
     <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
     <sect2 id="svn.branchmerge.commonpatterns.feature">
+<!--
       <title>Feature Branches</title>
+-->
+      <title>Funktions-Zweige</title>
 
+<!--
       <para>A <firstterm>feature branch</firstterm> is the sort of
         branch that's been the dominant example in this chapter (the
         one you've been working on while Sally continues to work on
@@ -5001,7 +5005,20 @@
         branches are born, used for a while, merged back to the trunk,
         and then ultimately deleted.  They have a finite span of
         usefulness.</para>
+-->
+      <para>Ein <firstterm>Funktions-Zweig</firstterm> ist die Art von
+        Zweig, wie er im Hauptbeispiel dieses Kapitels vorkam (der
+        Zweig, auf dem Sie gearbeitet haben, während Sally auf
+        <filename>/trunk</filename> arbeitete). Es ist ein
+        vorübergehender Zweig, der angelegt wird, um an einer
+        komplexen Änderung zu arbeiten, ohne
+        <filename>/trunk</filename> zu stören. Anders als
+        Release-Zweige (die vielleicht ewig gepflegt werden müssen),
+        werden Funktions-Zweige erstellt, eine Zeit lang genutzt,
+        zurück in den Stamm integriert und schließlich gelöscht. Sie
+        haben einen zeitlich begrenzten Nutzen.</para>
 
+<!--
       <para>Again, project policies vary widely concerning exactly
         when it's appropriate to create a feature branch.  Some
         projects never use feature branches at all: commits to
@@ -5016,7 +5033,25 @@
         the branch is deleted.  This system guarantees an
         exceptionally stable and usable trunk at all times, but at
         the cost of tremendous process overhead.</para>
+-->
+      <para>In Projekten gehen die Meinungen oft auseinander, wann der
+        richtige Zeitpunkt zum Anlegen eines Funktions-Zweiges
+        gekommen ist. Manche Projekte benutzen nie Funktions-Zweige:
+        jeder darf Änderungen in <filename>/trunk</filename>
+        übergeben. Der Vorteil hier ist, dass es einfach ist –
+        niemand benötigt eine Schulung im Verzweigen und
+        Zusammenführen. Der Nachteil ist, dass der Code oft instabil
+        oder nicht nutzbar ist. Andere Projekte verwenden
+        ausschließlich Zweige: Eine Änderung darf
+        <emphasis>niemals</emphasis> direkt in
+        <filename>/trunk</filename> übergeben werden. Selbst die
+        trivialsten Änderungen werden auf einem kurzlebigen Zweig
+        durchgeführt, sorgfältig geprüft und in den Stamm
+        zurückgeführt. Danach wird der Zweig gelöscht. Dieses Vorgehen
+        garantiert einen außerordentlich stabilen und nutzbaren Stamm,
+        jedoch zum Preis eines erheblichen Prozessaufwands.</para>
 
+<!--
       <para>Most projects take a middle-of-the-road approach.  They
         commonly insist that <filename>/trunk</filename> compile and
         pass regression tests at all times.  A feature branch is
@@ -5030,7 +5065,24 @@
         developed on a feature branch.  As the developer commits
         incremental changes to the branch, they can be easily reviewed
         by peers.</para>
+-->
+      <para>Die meisten Projekte bewegen sich irgendwo dazwischen.
+        Gewöhnlich bestehen sie darauf, dass
+        <filename>/trunk</filename> stets compilierfähig bleibt und
+        Regressionstests besteht. Ein Funktions-Zweig wird nur dann
+        benötigt, falls eine Änderung eine große Anzahl
+        destabilisierender Übergaben erfordert. Eine gute Faustregel
+        ist, diese Frage zu stellen: Wäre, falls ein Entwickler nach Tagen
+        isolierter Entwicklung die große Änderung auf einmal übergäbe
+        (so dass <filename>/trunk</filename> nie instabil würde), die
+        Änderung zu umfangreich zum Überprüfen? Falls die Antwort auf
+        diese Frage <quote>ja</quote> lautet, sollte die Änderung auf
+        einem Funktions-Zweig durchgeführt werden. Während der
+        Entwickler schrittweise Änderungen in den Zweig übergibt,
+        können sie auf einfache Weise von den Kollegen geprüft
+        werden.</para>
 
+<!--
       <para>Finally, there's the issue of how to best keep a feature
         branch in <quote>sync</quote> with the trunk as work
         progresses.  As we mentioned earlier, there's a great risk to
@@ -5038,18 +5090,44 @@
         continue to pour in, to the point where the two lines of
         development differ so greatly that it may become a nightmare
         trying to merge the branch back to the trunk.</para>
+-->
+      <para>Schließlich stellt sich die Frage, wie ein Funktions-Zweig
+        am besten mit dem Stamm <quote>synchron</quote> gehalten
+        werden kann während die Arbeit weitergeht. Wie wir vorher
+        bereits bemerkten, besteht ein großes Risiko, wenn wochen-
+        oder monatelang auf dem Zweig gearbeitet wird; währenddessen
+        ändert sich auch der Stamm, so dass ein Punkt erreicht werden
+        kann, an dem sich die beiden Entwicklungslinien so sehr
+        unterscheiden, dass es zu einem Albtraum ausarten kann, den
+        Zweig zurück auf den Stamm zu führen.</para>
 
+<!--
       <para>This situation is best avoided by regularly merging trunk
         changes to the branch.  Make up a policy: once a week, merge
         the last week's worth of trunk changes to the branch.</para>
+-->
+      <para>Diese Situation wird am besten vermieden, indem regelmäßig
+        Änderungen vom Stamm in den Zweig eingearbeitet werden. Machen
+        Sie es zur Gewohnheit: Arbeiten Sie wöchentlich die Änderungen
+        der vergangenen Woche vom Stamm in den Zweig ein.</para>
 
+<!--
       <para>At some point, you'll be ready to merge the
         <quote>synchronized</quote> feature branch back to the trunk.
         To do this, begin by doing a final merge of the latest trunk
         changes to the branch.  When that's done, the latest versions
         of branch and trunk will be absolutely identical except for
         your branch changes.  You would then merge back with
-        the <option>--reintegrate</option> option:</para>
+        the <option>- -reintegrate</option> option:</para>
+-->
+      <para>Irgendwann werden Sie dann bereit sein, den
+        <quote>synchronisierten</quote> Funktions-Zweig zurück in den
+        Stamm zu führen. Hierzu arbeiten Sie ein letztes Mal die
+        jüngsten Änderungen vom Stamm in den Zweig ein. Danach werden
+        die letzten Versionen auf dem Stamm und dem Zweig, bis auf Ihre
+        Änderungen auf dem Zweig, absolut gleich sein. Dann werden Sie
+        den Zweig mit der Option <option>--reintegrate</option> wieder
+        mit dem Stamm zusammenführen:</para>
 
       <screen>
 $ cd trunk-working-copy
@@ -5067,6 +5145,7 @@
 …
 </screen>
 
+<!--
       <para>Another way of thinking about this pattern is that your
         weekly sync of trunk to branch is analogous to running
         <command>svn update</command> in a working copy, while the
@@ -5075,6 +5154,15 @@
         <emphasis>is</emphasis> a working copy but a very shallow
         private branch?  It's a branch that's capable of
         storing only one change at a time.</para>
+-->
+      <para>Aus einem anderen Winkel betrachtet ist dieser
+        wöchentliche Abgleich vom Stamm auf den Zweig analog zum
+        Ausführen von <command>svn update</command> in einer
+        Arbeitskopie, wobei das finale Zusammenführen <command>svn
+        commit</command> in einer Arbeitskopie entspricht.
+        <emphasis>Ist</emphasis> denn letztendlich eine Arbeitskopie
+        nicht ein sehr flacher privater Zweig? Es ist ein Zweig, der
+        nur eine Änderung gleichzeitig aufnehmen kann.</para>
 
     </sect2>
 




More information about the svnbook-dev mailing list