[svnbook] r4981 committed - [de] Translation: Branching and Merging...
svnbook at googlecode.com
svnbook at googlecode.com
Wed Feb 11 07:09:33 CST 2015
Revision: 4981
Author: jmfelderhoff at gmx.eu
Date: Wed Feb 11 13:09:17 2015 UTC
Log: [de] Translation: Branching and Merging
Sections:
* Vendor Branches
** Vendor Branches from Foreign Repositories
https://code.google.com/p/svnbook/source/detail?r=4981
Modified:
/branches/1.8/de/book/ch04-branching-and-merging.xml
=======================================
--- /branches/1.8/de/book/ch04-branching-and-merging.xml Wed Feb 11
06:46:40 2015 UTC
+++ /branches/1.8/de/book/ch04-branching-and-merging.xml Wed Feb 11
13:09:17 2015 UTC
@@ -1748,11 +1748,11 @@
Committed revision 352.
-->
$ svn commit -m "Die letzten Änderungen von trunk mit my-calc-branch
synchronisiert."
-Sende .
-Sende Makefile
-Sende doc/INSTALL
-Sende src/button.c
-Sende src/real.c
+Sende .
+Sende Makefile
+Sende doc/INSTALL
+Sende src/button.c
+Sende src/real.c
Übertrage Daten ..
Revision 352 übertragen.
</screen>
@@ -2416,10 +2416,10 @@
Committed revision 380.
-->
$ svn commit -m "my-calc-branch mit Stamm zusammenführen!"
-Sende .
-Sende Makefile
-Sende src/main.c
-Sende src/real.c
+Sende .
+Sende Makefile
+Sende src/main.c
+Sende src/real.c
Übertrage Daten ..
Revision 380 übertragen.
</screen>
@@ -3364,11 +3364,11 @@
Committed revision 399.
-->
$ svn commit -m "Fehlerhafte Änderung aus r392 rückgängig machen."
-Sending src/button.c
-Sending src/integer.c
-Sending src/main.c
-Sending src/real.c
-Sende integer.c
+Sende src/button.c
+Sende src/integer.c
+Sende src/main.c
+Sende src/real.c
+Sende integer.c
Übertrage Daten ....
Revision 399 übertragen.
</screen>
@@ -3791,2294 +3791,2294 @@
</screen>
</informalexample>
- </sect2>
+ </sect2>
- </sect1>
+</sect1>
- <!-- =================================================================
-->
- <!-- =================================================================
-->
- <!-- =================================================================
-->
- <sect1 id="svn.branchmerge.advanced">
- <!--
- <title>Advanced Merging</title>
- -->
- <title>Fortgeschrittenes Zusammenführen</title>
+<!-- ================================================================= -->
+<!-- ================================================================= -->
+<!-- ================================================================= -->
+ <sect1 id="svn.branchmerge.advanced">
+<!--
+ <title>Advanced Merging</title>
+-->
+ <title>Fortgeschrittenes Zusammenführen</title>
- <!--
- <para>Here ends the automated magic. Sooner or later, once you
- get the hang of branching and merging, you're going to have to
- ask Subversion to merge <emphasis>specific</emphasis> changes
- from one place to another. To do this, you're going to
- have to start passing more complicated arguments to <command>svn
- merge</command>. The next section describes the fully expanded
- syntax of the command and discusses a number of common
- scenarios that require it.</para>
- -->
- <para>Hier endet die automatische Magie. Früher oder später,
- sobald Sie den Dreh beim Verzweigen und Zusammenführen heraus
- haben, werden Sie Subversion fragen müssen,
- <emphasis>bestimmte</emphasis> Änderungen von einem Ort zum
- anderen zusammenzuführen. Um dies tun zu können, werden Sie
- damit beginnen müssen, kompliziertere Argumente an <command>svn
- merge</command> zu übergeben. Der nächste Abschnitt beschreibt
- die vollständig erweiterte Syntax des Befehls und behandelt eine
- Anzahl verbreiteter Szenarien, die diese benötigen.</para>
+<!--
+ <para>Here ends the automated magic. Sooner or later, once you
+ get the hang of branching and merging, you're going to have to
+ ask Subversion to merge <emphasis>specific</emphasis> changes
+ from one place to another. To do this, you're going to
+ have to start passing more complicated arguments to <command>svn
+ merge</command>. The next section describes the fully expanded
+ syntax of the command and discusses a number of common
+ scenarios that require it.</para>
+-->
+ <para>Hier endet die automatische Magie. Früher oder später,
+ sobald Sie den Dreh beim Verzweigen und Zusammenführen heraus
+ haben, werden Sie Subversion fragen müssen,
+ <emphasis>bestimmte</emphasis> Änderungen von einem Ort zum
+ anderen zusammenzuführen. Um dies tun zu können, werden Sie
+ damit beginnen müssen, kompliziertere Argumente an <command>svn
+ merge</command> zu übergeben. Der nächste Abschnitt beschreibt
+ die vollständig erweiterte Syntax des Befehls und behandelt eine
+ Anzahl verbreiteter Szenarien, die diese benötigen.</para>
- <!-- ===============================================================
-->
- <sect2 id="svn.branchmerge.cherrypicking">
- <!--
- <title>Cherrypicking</title>
- -->
- <title>Die Rosinen herauspicken</title>
+ <!-- ===============================================================
-->
+ <sect2 id="svn.branchmerge.cherrypicking">
+<!--
+ <title>Cherrypicking</title>
+-->
+ <title>Die Rosinen herauspicken</title>
- <!--
- <para>
- <indexterm>
- <primary>merging</primary>
- <secondary>cherrypicking</secondary>
- </indexterm>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
- the act of choosing <emphasis>one</emphasis> specific
- changeset from a branch and replicating it to another.
- Cherrypicking may also refer to the act of duplicating a
- particular set of (not necessarily contiguous!) changesets
- from one branch to another. This is in contrast to more
- typical merging scenarios, where the <quote>next</quote>
- contiguous range of revisions is duplicated
- automatically.</para>
- -->
- <para>
- <indexterm>
- <primary>Merging</primary>
- <secondary>Rosinenpicken</secondary>
- </indexterm>Genauso oft wie der Begriff
<quote>Änderungsmenge</quote>
- wird die Wendung <firstterm>die Rosinen
- herauspicken</firstterm> in Versions-Kontroll-Systemen
- 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 Merge-Szenarien, bei denen der
- <quote>nächste</quote> zusammenhängende Bereich von Revisionen
- automatisch dupliziert wird.</para>
+<!--
+ <para>
+ <indexterm>
+ <primary>merging</primary>
+ <secondary>cherrypicking</secondary>
+ </indexterm>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
+ the act of choosing <emphasis>one</emphasis> specific
+ changeset from a branch and replicating it to another.
+ Cherrypicking may also refer to the act of duplicating a
+ particular set of (not necessarily contiguous!) changesets
+ from one branch to another. This is in contrast to more
+ typical merging scenarios, where the <quote>next</quote>
+ contiguous range of revisions is duplicated
+ automatically.</para>
+-->
+ <para>
+ <indexterm>
+ <primary>Merging</primary>
+ <secondary>Rosinenpicken</secondary>
+ </indexterm>Genauso oft wie der Begriff
<quote>Änderungsmenge</quote>
+ wird die Wendung <firstterm>die Rosinen
+ herauspicken</firstterm> in Versions-Kontroll-Systemen
+ 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 Merge-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
- assume you've created a new feature branch <filename>
- /calc/branches/my-calc-feature-branch</filename> copied from
- <filename>/calc/trunk</filename>:</para>
- -->
- <para>Warum sollte jemand nur eine einzelne Änderung wollen? Das
- kommt häufiger vor, als Sie denken. Gehen wir beispielsweise
- einmal davon aus, dass Sie einen neuen Arbeitszweig <filename>
- /calc/branches/my-calc-feature-branch</filename> durch
- kopieren von <filename>/calc/trunk</filename> erstellt
- haben:</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
+ assume you've created a new feature branch <filename>
+ /calc/branches/my-calc-feature-branch</filename> copied from
+ <filename>/calc/trunk</filename>:</para>
+-->
+ <para>Warum sollte jemand nur eine einzelne Änderung wollen? Das
+ kommt häufiger vor, als Sie denken. Gehen wir beispielsweise
+ einmal davon aus, dass Sie einen neuen Arbeitszweig <filename>
+ /calc/branches/my-calc-feature-branch</filename> durch
+ kopieren von <filename>/calc/trunk</filename> erstellt
+ haben:</para>
- <informalexample>
- <screen>
- $ svn log ^/calc/branches/new-calc-feature-branch -v -r403
-
------------------------------------------------------------------------<!--
- r403 | user | 2013-02-20 03:26:12 -0500 (Wed, 20 Feb 2013) | 1 line
- Changed paths:-->
- r403 | user | 2013-02-20 03:26:12 -0500 (Mi, 20. Feb 2013) | 1 Zeile
- Geänderte Pfade:
- A /calc/branches/new-calc-feature-branch (from /calc/trunk:402)
- <!--
- Create a new calc branch for Feature 'X'.
- -->
- Einen neuen Zweig calc für Arbeit an 'X' erzeugt.
- ------------------------------------------------------------------------
- </screen>
- </informalexample>
+ <informalexample>
+ <screen>
+$ svn log ^/calc/branches/new-calc-feature-branch -v -r403
+------------------------------------------------------------------------<!--
+r403 | user | 2013-02-20 03:26:12 -0500 (Wed, 20 Feb 2013) | 1 line
+Changed paths:-->
+r403 | user | 2013-02-20 03:26:12 -0500 (Mi, 20. Feb 2013) | 1 Zeile
+Geänderte Pfade:
+ A /calc/branches/new-calc-feature-branch (from /calc/trunk:402)
+<!--
+Create a new calc branch for Feature 'X'.
+-->
+Einen neuen Zweig calc für Arbeit an 'X' erzeugt.
+------------------------------------------------------------------------
+</screen>
+ </informalexample>
- <!--
- <para>At the water cooler, you get word that Sally made an
interesting
- change to <filename>main.c</filename> on the trunk.
- Looking over the history of commits to the trunk, you see that
- in revision 413 she fixed a critical bug that directly
- impacts the feature you're working on. You might not be ready
- 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>In der Kaffeeküche bekommen Sie mit, dass Sally eine
- interessante Änderung an <filename>main.c</filename> auf dem
- Stamm gemacht hat. Als Sie sich die Geschichte der Übergaben
- auf dem Stamm ansehen, entdecken Sie, dass sie in Revision 413
- 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>
+<!--
+ <para>At the water cooler, you get word that Sally made an
interesting
+ change to <filename>main.c</filename> on the trunk.
+ Looking over the history of commits to the trunk, you see that
+ in revision 413 she fixed a critical bug that directly
+ impacts the feature you're working on. You might not be ready
+ 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>In der Kaffeeküche bekommen Sie mit, dass Sally eine
+ interessante Änderung an <filename>main.c</filename> auf dem
+ Stamm gemacht hat. Als Sie sich die Geschichte der Übergaben
+ auf dem Stamm ansehen, entdecken Sie, dass sie in Revision 413
+ 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>
- <!--
- <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>
+<!--
+ <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>
- <informalexample>
- <screen>
- $ svn log ^/calc/trunk -r413 -v
-
------------------------------------------------------------------------<!--
- r413 | sally | 2013-02-21 01:57:51 -0500 (Thu, 21 Feb 2013) | 3 lines
- Changed paths:-->
- r413 | sally | 2013-02-21 01:57:51 -0500 (Do, 21. Feb 2013) | 3 Zeilen
- Geänderte Pfade:
- M /calc/trunk/src/main.c
- <!--
- Fix issue #22 'Passing a null value in the foo argument
- of bar() should be a tolerated, but causes a segfault'.
- -->
- Fehler #22 'Übergabe eines Null-Wertes im Argument foo von bar()
- sollte erlaubt sein, aber ruft Schutzverletzung hervor'.
- ------------------------------------------------------------------------
+ <informalexample>
+ <screen>
+$ svn log ^/calc/trunk -r413 -v
+------------------------------------------------------------------------<!--
+r413 | sally | 2013-02-21 01:57:51 -0500 (Thu, 21 Feb 2013) | 3 lines
+Changed paths:-->
+r413 | sally | 2013-02-21 01:57:51 -0500 (Do, 21. Feb 2013) | 3 Zeilen
+Geänderte Pfade:
+ M /calc/trunk/src/main.c
+<!--
+Fix issue #22 'Passing a null value in the foo argument
+of bar() should be a tolerated, but causes a segfault'.
+-->
+Fehler #22 'Übergabe eines Null-Wertes im Argument foo von bar()
+sollte erlaubt sein, aber ruft Schutzverletzung hervor'.
+------------------------------------------------------------------------
- $ svn diff ^/calc/trunk -c413
- Index: src/main.c
- ===================================================================
- --- src/main.c (revision 412)
- +++ src/main.c (revision 413)
- @@ -34,6 +34,7 @@
- …<!--
-# Details of the fix-->
-# Details zur Fehlerbehebung
- …
- </screen>
- </informalexample>
+$ svn diff ^/calc/trunk -c413
+Index: src/main.c
+===================================================================
+--- src/main.c (revision 412)
++++ src/main.c (revision 413)
+@@ -34,6 +34,7 @@
+…<!--
+Details of the fix-->
+Details zur Fehlerbehebung
+…
+</screen>
+ </informalexample>
- <!--
- <para>Just as you used <command>svn diff</command> in the prior
- example to examine revision 413, you can pass the same option
- to <command>svn merge</command>:</para>
- -->
- <para>So wie Sie <command>svn diff</command> im vorangegangenen
- Beispiel verwendet haben, um Revision 413 zu untersuchen,
- können Sie die gleiche Option an <command>svn merge</command>
- übergeben:</para>
+<!--
+ <para>Just as you used <command>svn diff</command> in the prior
+ example to examine revision 413, you can pass the same option
+ to <command>svn merge</command>:</para>
+-->
+ <para>So wie Sie <command>svn diff</command> im vorangegangenen
+ Beispiel verwendet haben, um Revision 413 zu untersuchen,
+ können Sie die gleiche Option an <command>svn merge</command>
+ übergeben:</para>
- <informalexample>
- <screen>
- $ cd new-calc-feature-branch
+ <informalexample>
+ <screen>
+$ cd new-calc-feature-branch
- $ svn merge ^/calc/trunk -c413 <!--
- - - - Merging r413 into '.':
- -->
- --- Zusammenführen von r413 in ».«:
- U src/main.c<!--
- - - Recording mergeinfo for merge of r413 into '.':
- -->
- -- Aufzeichnung der Informationen für Zusammenführung von r413 in ».«:
- U .
+$ svn merge ^/calc/trunk -c413 <!--
+- - - Merging r413 into '.':
+-->
+--- Zusammenführen von r413 in ».«:
+U src/main.c<!--
+- - Recording mergeinfo for merge of r413 into '.':
+-->
+-- Aufzeichnung der Informationen für Zusammenführung von r413 in ».«:
+ U .
- $ svn st
- M .
- M src/main.c
- </screen>
- </informalexample>
+$ svn st
+ M .
+M src/main.c
+</screen>
+ </informalexample>
- <!--
- <para>You can now go through the usual testing procedures before
- committing this change to your branch. After the commit,
- Subversion updates the <literal>svn:mergeinfo</literal> on your
- branch to reflect that r413 was been merged to the branch. This
- prevents future automatic sync merges from attempting to merge
- r413 again. (Merging the same change to the same branch almost
- always results in a conflict!) Notice also the mergeinfo
<literal>
- /calc/branches/my-calc-branch:341-379</literal>. This was
- recorded during the earlier reintegrate merge to <filename>
- /calc/trunk</filename> from the <filename>
- /calc/branches/my-calc-branch</filename> branch which we made in
- r380. When we created the <filename>my-calc-branch</filename>
- branch in r403, this mergeinfo was carried along with the copy.
- </para>
- -->
- <para>Sie können nun Ihre üblichen Tests durchführen, bevor Sie
- diese Änderung an den Zweig übergeben. Nach der Übergabe
- bringt Subversion das <literal>svn:mergeinfo</literal> ihres
- Zweigs auf den neuesten Stand, um festzuhalten, dass r413 mit
- dem Zweig zusammengeführt wurde. Das verhindert, dass künftige
- automatische Synchronisierungs-Merges versuchen, r413 erneut
- zusammenzuführen. (Das Mergen derselben Änderung auf denselben
- Zweig führt fast immer zu einem Konflikt!) Beachten Sie auch
- das Mergeinfo <literal>
- /calc/branches/my-calc-branch:341-379</literal>, Das wurde bei
- unserem in r380 gemachten Reintegrations-Merge nach
- <filename> /calc/trunk</filename> vom Zweig <filename>
- /calc/branches/my-calc-branch</filename> aufgezeichnet. Als
- wir den Zweig <filename>my-calc-branch</filename> in r403
- erstellt haben, wurde diese Mergeinfo mit der Kopie
- mitgenommen.</para>
+<!--
+ <para>You can now go through the usual testing procedures before
+ committing this change to your branch. After the commit,
+ Subversion updates the <literal>svn:mergeinfo</literal> on your
+ branch to reflect that r413 was been merged to the branch. This
+ prevents future automatic sync merges from attempting to merge
+ r413 again. (Merging the same change to the same branch almost
+ always results in a conflict!) Notice also the mergeinfo <literal>
+ /calc/branches/my-calc-branch:341-379</literal>. This was
+ recorded during the earlier reintegrate merge to <filename>
+ /calc/trunk</filename> from the <filename>
+ /calc/branches/my-calc-branch</filename> branch which we made in
+ r380. When we created the <filename>my-calc-branch</filename>
+ branch in r403, this mergeinfo was carried along with the copy.
+ </para>
+-->
+ <para>Sie können nun Ihre üblichen Tests durchführen, bevor Sie
+ diese Änderung an den Zweig übergeben. Nach der Übergabe
+ bringt Subversion das <literal>svn:mergeinfo</literal> ihres
+ Zweigs auf den neuesten Stand, um festzuhalten, dass r413 mit
+ dem Zweig zusammengeführt wurde. Das verhindert, dass künftige
+ automatische Synchronisierungs-Merges versuchen, r413 erneut
+ zusammenzuführen. (Das Mergen derselben Änderung auf denselben
+ Zweig führt fast immer zu einem Konflikt!) Beachten Sie auch
+ das Mergeinfo <literal>
+ /calc/branches/my-calc-branch:341-379</literal>, Das wurde bei
+ unserem in r380 gemachten Reintegrations-Merge nach
+ <filename> /calc/trunk</filename> vom Zweig <filename>
+ /calc/branches/my-calc-branch</filename> aufgezeichnet. Als
+ wir den Zweig <filename>my-calc-branch</filename> in r403
+ erstellt haben, wurde diese Mergeinfo mit der Kopie
+ mitgenommen.</para>
- <informalexample>
- <screen>
- $ svn pg svn:mergeinfo -v<!--
- Properties on '.':-->
- Eigenschaften von ».«:
- svn:mergeinfo
- /calc/branches/my-calc-branch:341-379
- /calc/trunk:413
- </screen>
- </informalexample>
+ <informalexample>
+ <screen>
+$ svn pg svn:mergeinfo -v<!--
+Properties on '.':-->
+Eigenschaften von ».«:
+ svn:mergeinfo
+ /calc/branches/my-calc-branch:341-379
+ /calc/trunk:413
+</screen>
+ </informalexample>
- <!--
- <para>Notice too that the <command>mergeinfo</command> doesn't
list r413
- as "eligible" to merge, because it's already been merged:</para>
- -->
- <para>Beachten Sie auch, dass <command>mergeinfo</command> r413
- nicht als Kandidaten für einen Merge anzeigt, da sie bereits
- zusammengeführt wurde:</para>
+<!--
+ <para>Notice too that the <command>mergeinfo</command> doesn't list
r413
+ as "eligible" to merge, because it's already been merged:</para>
+-->
+ <para>Beachten Sie auch, dass <command>mergeinfo</command> r413
+ nicht als Kandidaten für einen Merge anzeigt, da sie bereits
+ zusammengeführt wurde:</para>
- <informalexample>
- <screen>
- $ svn mergeinfo ^/calc/trunk --show-revs eligible
- r404
- r405
- r406
- r407
- r409
- r410
- r411
- r412
- r414
- r415
- r416
- …
- r455
- r456
- r457
- </screen>
- </informalexample>
+ <informalexample>
+ <screen>
+$ svn mergeinfo ^/calc/trunk --show-revs eligible
+r404
+r405
+r406
+r407
+r409
+r410
+r411
+r412
+r414
+r415
+r416
+…
+r455
+r456
+r457
+</screen>
+ </informalexample>
- <!--
- <para>The preceding means that when the time finally comes to do an
- automatic sync merge, Subversion breaks the merge into two parts.
- First it merges all eligible merges up to revision 412. Then it
- merges all eligible revisions from revisions 414 to the
<literal>HEAD
- </literal> revision. Because we already cherrypicked r413, that
- change is skipped:</para>
- -->
- <para>Das oben stehende bedeutet, wenn schließlich die Zeit für
- einen automatischen Synchronisierungs-Merge gekommen ist, dass
- Subversion den Merge in zwei Teile aufspaltet. Zunächst werden
- alle in Frage kommenden Merges bis Revision 412 ausgeführt.
- Dann werden alle in Frage kommenden Revisionen von Revision
- 412 bis zur Revision <literal>HEAD</literal> ausgeführt. Da
- wir uns bereits r413 herausgepickt haben, wird diese Änderung
- übersprungen change is skipped:</para>
+<!--
+ <para>The preceding means that when the time finally comes to do an
+ automatic sync merge, Subversion breaks the merge into two parts.
+ First it merges all eligible merges up to revision 412. Then it
+ merges all eligible revisions from revisions 414 to the
<literal>HEAD
+ </literal> revision. Because we already cherrypicked r413, that
+ change is skipped:</para>
+-->
+ <para>Das oben stehende bedeutet, wenn schließlich die Zeit für
+ einen automatischen Synchronisierungs-Merge gekommen ist, dass
+ Subversion den Merge in zwei Teile aufspaltet. Zunächst werden
+ alle in Frage kommenden Merges bis Revision 412 ausgeführt.
+ Dann werden alle in Frage kommenden Revisionen von Revision
+ 412 bis zur Revision <literal>HEAD</literal> ausgeführt. Da
+ wir uns bereits r413 herausgepickt haben, wird diese Änderung
+ übersprungen change is skipped:</para>
- <informalexample>
- <screen>
- $ svn merge ^/calc/trunk <!--
- - - Merging r403 through r412 into '.':
- -->
- --- Zusammenführen von r403 bis r412 in ».«:
- U doc/INSTALL
- U src/main.c
- U src/button.c
- U src/integer.c
- U Makefile
- U README<!--
- - - Merging r414 through r458 into '.':
- -->
- --- Zusammenführen von r414 bis r458 in ».«:
- G doc/INSTALL
- G src/main.c
- G src/integer.c
- G Makefile<!--
- - - Recording mergeinfo for merge of r403 through r458 into '.':-->
- -- Aufzeichnung der Informationen für Zusammenführung von r403 bis r458
in ».«:\n"
- U .
- </screen>
- </informalexample>
+ <informalexample>
+ <screen>
+$ svn merge ^/calc/trunk <!--
+- - Merging r403 through r412 into '.':
+-->
+--- Zusammenführen von r403 bis r412 in ».«:
+U doc/INSTALL
+U src/main.c
+U src/button.c
+U src/integer.c
+U Makefile
+U README<!--
+- - Merging r414 through r458 into '.':
+-->
+--- Zusammenführen von r414 bis r458 in ».«:
+G doc/INSTALL
+G src/main.c
+G src/integer.c
+G Makefile<!--
+- - Recording mergeinfo for merge of r403 through r458 into '.':-->
+-- Aufzeichnung der Informationen für Zusammenführung von r403 bis r458 in
».«:\n"
+ U .
+</screen>
+ </informalexample>
- <!--
- <para>
- <indexterm>
- <primary>merging</primary>
- <secondary>backporting</secondary>
- </indexterm>This use case of replicating
- (or <firstterm>backporting</firstterm>) bug fixes from one
- branch to another is perhaps the most popular reason for
- cherrypicking changes; it comes up all the time, for example,
- 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>
- <indexterm>
- <primary>Merging</primary>
- <secondary>nachziehen</secondary>
- </indexterm>Dieser Anwendungsfall des Abgleichens (oder
- <firstterm>Nachziehens</firstterm>) von Fehlerbehebungen von
- einem Zweig zu einem anderen ist vielleicht der gängigste Grund
- für Änderungen, die Rosinen herauszupicken; 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>
+<!--
+ <para>
+ <indexterm>
+ <primary>merging</primary>
+ <secondary>backporting</secondary>
+ </indexterm>This use case of replicating
+ (or <firstterm>backporting</firstterm>) bug fixes from one
+ branch to another is perhaps the most popular reason for
+ cherrypicking changes; it comes up all the time, for example,
+ 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>
+ <indexterm>
+ <primary>Merging</primary>
+ <secondary>nachziehen</secondary>
+ </indexterm>Dieser Anwendungsfall des Abgleichens (oder
+ <firstterm>Nachziehens</firstterm>) von Fehlerbehebungen von
+ einem Zweig zu einem anderen ist vielleicht der gängigste Grund
+ für Änderungen, die Rosinen herauszupicken; 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 merged two distinct ranges?
- The <command>svn merge</command> command applied
- two independent patches to your working copy to skip over
- changeset 413, which your branch already contained. There's
- nothing inherently wrong with this, except that it has the
- potential to make conflict resolution trickier. If the
- first range of changes creates conflicts,
- you <emphasis>must</emphasis> resolve them interactively for
- the merge process to continue and apply the second range of
- changes. If you postpone a conflict from the first wave of
- changes, the whole merge command will bail out with an error
- message and you must resolve the conflict before running the
- merge a second time to get the remainder of the changes.</para>
- -->
- <para>Haben Sie bemerkt, wie im letzten Beispiel der Aufruf
- von <command>svn merge</command> zwei unterschiedliche
- Abgleichsintervalle zusammengeführt hat? Der Befehl führte
- zwei unabhängige Patches auf Ihrer Arbeitskopie aus, um die
- Änderungsmenge 413 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 den Merge fortzusetzen und das zweite Änderungsintervall
- anzuwenden. Wenn Sie die Konfliktauflösung der ersten Phase
- aufschieben, wird der komplette Merge-Befehl mit einer
- Fehlermeldung abbrechen und Sie müssen den Konflikt
- auflösen, bevor Sie den Merge erneut anwenden, um den Rest
- der Änderungen zu bekommen.</para>
- </warning>
+ <warning>
+<!--
+ <para>Did you notice how, in the last example, the merge
+ invocation merged two distinct ranges?
+ The <command>svn merge</command> command applied
+ two independent patches to your working copy to skip over
+ changeset 413, which your branch already contained. There's
+ nothing inherently wrong with this, except that it has the
+ potential to make conflict resolution trickier. If the
+ first range of changes creates conflicts,
+ you <emphasis>must</emphasis> resolve them interactively for
+ the merge process to continue and apply the second range of
+ changes. If you postpone a conflict from the first wave of
+ changes, the whole merge command will bail out with an error
+ message and you must resolve the conflict before running the
+ merge a second time to get the remainder of the changes.</para>
+-->
+ <para>Haben Sie bemerkt, wie im letzten Beispiel der Aufruf
+ von <command>svn merge</command> zwei unterschiedliche
+ Abgleichsintervalle zusammengeführt hat? Der Befehl führte
+ zwei unabhängige Patches auf Ihrer Arbeitskopie aus, um die
+ Änderungsmenge 413 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 den Merge fortzusetzen und das zweite Änderungsintervall
+ anzuwenden. Wenn Sie die Konfliktauflösung der ersten Phase
+ aufschieben, wird der komplette Merge-Befehl mit einer
+ Fehlermeldung abbrechen und Sie müssen den Konflikt
+ auflösen, bevor Sie den Merge erneut anwenden, um den Rest
+ der Änderungen zu bekommen.</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
- them in <xref linkend="svn.ref.svn"/> for details, or ask
- <command>svn help</command>. For example, <command>svn
- merge</command> requires a working copy path as a target, that
is,
- 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.svn"/> 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>
+<!--
+ <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
+ them in <xref linkend="svn.ref.svn"/> for details, or ask
+ <command>svn help</command>. For example, <command>svn
+ merge</command> requires a working copy path as a target, that is,
+ 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.svn"/> 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>
+ <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
- directory. If you are merging a file, and that file (or a
- file by the same name) exists in your current working
- 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>
+<!--
+ <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
+ directory. If you are merging a file, and that file (or a
+ file by the same name) exists in your current working
+ 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>
+ </sect2>
- <!-- ===============================================================
-->
- <sect2 id="svn.branchmerge.advanced.advancedsyntax">
- <!--
- <title>Merge Syntax: Full Disclosure</title>
- -->
- <title>Merge-Syntax: Die vollständige Enthüllung</title>
+ <!-- ===============================================================
-->
+ <sect2 id="svn.branchmerge.advanced.advancedsyntax">
+<!--
+ <title>Merge Syntax: Full Disclosure</title>
+-->
+ <title>Merge-Syntax: Die vollständige Enthüllung</title>
- <!--
- <para>You've now seen some examples of the <command>svn
- merge</command> command, and you're about to see several more.
- If you're feeling confused about exactly how merging works,
- you're not alone. Many users (especially those new to version
- control) are initially perplexed about the proper syntax of
- the command and about how and when the feature should be
- used. But fear not, this command is actually much simpler
- than you think! There's a very easy technique for
- understanding exactly how <command>svn merge</command>
- behaves.</para>
- -->
- <para>Sie haben nun einige Beispiele zum Befehl <command>svn
- merge</command> gesehen und werden bald einige mehr sehen.
- Falls Sie verwirrt darüber sind, wie das Zusammenführen genau
- funktioniert, sind Sie nicht alleine. Viele Anwender
- (besonders diejenigen, für die Versionskontrolle etwas Neues
- ist) sind anfangs verwirrt darüber, wie die korrekte Syntax
- des Befehls lautet und wann das Feature verwendet werden soll.
- Aber, keine Angst, dieser Befehl ist tatsächlich viel
- einfacher als Sie denken! Es gibt eine einfache Technik, die
- verstehen hilft, wie sich <command>svn merge</command> genau
- verhält.</para>
+<!--
+ <para>You've now seen some examples of the <command>svn
+ merge</command> command, and you're about to see several more.
+ If you're feeling confused about exactly how merging works,
+ you're not alone. Many users (especially those new to version
+ control) are initially perplexed about the proper syntax of
+ the command and about how and when the feature should be
+ used. But fear not, this command is actually much simpler
+ than you think! There's a very easy technique for
+ understanding exactly how <command>svn merge</command>
+ behaves.</para>
+-->
+ <para>Sie haben nun einige Beispiele zum Befehl <command>svn
+ merge</command> gesehen und werden bald einige mehr sehen.
+ Falls Sie verwirrt darüber sind, wie das Zusammenführen genau
+ funktioniert, sind Sie nicht alleine. Viele Anwender
+ (besonders diejenigen, für die Versionskontrolle etwas Neues
+ ist) sind anfangs verwirrt darüber, wie die korrekte Syntax
+ des Befehls lautet und wann das Feature verwendet werden soll.
+ Aber, keine Angst, dieser Befehl ist tatsächlich viel
+ einfacher als Sie denken! Es gibt eine einfache Technik, die
+ verstehen hilft, wie sich <command>svn merge</command> genau
+ verhält.</para>
- <!--
- <para>The main source of confusion is the
- <emphasis>name</emphasis> of the command. The term
- <quote>merge</quote> somehow denotes that branches are
- combined together, or that some sort of mysterious
- blending of data is going on. That's not the case. A better
- name for the command might have been <command>svn
- diff-and-apply</command>, because that's all that happens:
- two repository trees are compared, and the differences are
- applied to a working copy.</para>
- -->
- <para>Die Hauptquelle der Verwirrung ist der
- <emphasis>Name</emphasis> des Befehls. Der Begriff
- <quote>merge</quote> (Zusammenführung, Mischung) deutet
- irgendwie an, dass Zweige miteinander verschmolzen werden,
- oder dass irgendeine geheimnisvolle Mischung der Daten
- erfolgt. Das ist nicht der Fall. Ein besserer Name für den
- Befehl wäre vielleicht <command>svn
- ermittele-die-Unterschiede-und-wende-sie-an</command>
- gewesen, da das alles ist, was passiert: Die Bäume im
- Projektarchiv werden verglichen und die Unterschiede in eine
- Arbeitskopie eingearbeitet.</para>
+<!--
+ <para>The main source of confusion is the
+ <emphasis>name</emphasis> of the command. The term
+ <quote>merge</quote> somehow denotes that branches are
+ combined together, or that some sort of mysterious
+ blending of data is going on. That's not the case. A better
+ name for the command might have been <command>svn
+ diff-and-apply</command>, because that's all that happens:
+ two repository trees are compared, and the differences are
+ applied to a working copy.</para>
+-->
+ <para>Die Hauptquelle der Verwirrung ist der
+ <emphasis>Name</emphasis> des Befehls. Der Begriff
+ <quote>merge</quote> (Zusammenführung, Mischung) deutet
+ irgendwie an, dass Zweige miteinander verschmolzen werden,
+ oder dass irgendeine geheimnisvolle Mischung der Daten
+ erfolgt. Das ist nicht der Fall. Ein besserer Name für den
+ Befehl wäre vielleicht <command>svn
***The diff for this file has been truncated for email.***
More information about the svnbook-dev
mailing list