[svnbook] r4972 committed - [de] Translation: Branching and Merging...

svnbook at googlecode.com svnbook at googlecode.com
Wed Feb 4 02:47:36 CST 2015


Revision: 4972
Author:   jmfelderhoff at gmx.eu
Date:     Wed Feb  4 08:47:26 2015 UTC
Log:      [de] Translation: Branching and Merging
Sections:
   * What's a Branch?
   * Using Branches
   ** Creating a Branch
   ** Working with Your Branch
   ** The Key Concepts Behind Branching
   * Basic Merging
   ** Changesets
   ** Keeping a Branch in Sync
   ** Reintegrating a Branch
   ** Mergeinfo and Previews

https://code.google.com/p/svnbook/source/detail?r=4972

Modified:
  /branches/1.8/de/book/ch04-branching-and-merging.xml

=======================================
--- /branches/1.8/de/book/ch04-branching-and-merging.xml	Tue Feb  3  
17:18:07 2015 UTC
+++ /branches/1.8/de/book/ch04-branching-and-merging.xml	Wed Feb  4  
08:47:26 2015 UTC
@@ -1,3 +1,5 @@
+<!-- -*- sgml -*- -->
+
  <chapter id="svn.branchmerge">
  <!--
    <title>Branching and Merging</title>
@@ -23,7 +25,7 @@
      these operations as well as Subversion's somewhat unique approach
      to them.  If you've not familiarized yourself with Subversion's
      basic concepts (found in <xref linkend="svn.basic"/>), we
-    recommmend that you do so before reading this chapter.</para>
+    recommend that you do so before reading this chapter.</para>
  -->
    <para>Verzweigen (<foreignphrase>Branching</foreignphrase>) und
      Zusammenführen
@@ -107,8 +109,7 @@
      <para>
        <indexterm>
          <primary>branches</primary>
-      </indexterm>
-      This is the basic concept of a branch—namely,
+      </indexterm>This is the basic concept of a branch—namely,
        a line of development that exists independently of another line,
        yet still shares a common history if you look far enough back in
        time.  A branch always begins life as a copy of something, and
@@ -118,6 +119,7 @@
      <para>
        <indexterm>
          <primary>Zweige</primary>
+        <see>Branches</see>
        </indexterm>
        <indexterm>
          <primary>Branches</primary>
@@ -355,7 +357,6 @@
          Auch diesmal ist der Name, den Sie wählen, für Subversion
          unwichtig – Sie können einen Namen verwenden, der am
          besten für Sie und Ihr Team geeignet ist.</para>
-
  <!--
        <para>Let's assume that your team (like most) has a policy of
          creating branches in the <filename>branches</filename>
@@ -380,17 +381,44 @@
          Kopie von <filename>/calc/trunk</filename> beginnt.</para>

  <!--
-      <para>You may already have seen <command>svn copy</command> used
-        to copy one file to another within a working copy.  But it can
-        also be used to do a <firstterm>remote
-        copy</firstterm>—a copy that immediately results in a
-        newly committed repository revision and for which no working
-        copy is required at all.  Just copy one URL to another:</para>
+      <para>
+        <indexterm>
+          <primary>copying</primary>
+          <secondary>remote copies</secondary>
+        </indexterm>
+        <indexterm>
+          <primary>svn</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>copy</tertiary>
+        </indexterm>
+        <indexterm>
+          <primary>branches</primary>
+          <secondary>creating</secondary>
+        </indexterm>You may already have seen <command>svn
+        copy</command> used to copy one file to another within a
+        working copy.  But it can also be used to do
+        a <firstterm>remote copy</firstterm>—a copy that
+        immediately results in a newly committed repository revision
+        and for which no working copy is required at all.  Just copy
+        one URL to another:</para>
  -->
-      <para>Sie haben vielleicht schon gesehen, wie mit <command>svn
+      <para>
+        <indexterm>
+          <primary>Kopieren</primary>
+          <secondary>Kopien aus der Ferne</secondary>
+        </indexterm>
+        <indexterm>
+          <primary>svn</primary>
+          <secondary>Unterbefehle</secondary>
+          <tertiary>copy</tertiary>
+        </indexterm>
+        <indexterm>
+          <primary>Branches</primary>
+          <secondary>erzeugen</secondary>
+        </indexterm>Sie haben vielleicht schon gesehen, wie mit  
<command>svn
          copy</command> innerhalb einer Arbeitskopie eine Datei auf
          eine andere kopiert wird. Es kann allerdings auch verwendet
-        werden, um eine <firstterm>entfernte Kopie</firstterm>
+        werden, um eine <firstterm>Kopie aus der Ferne</firstterm>
          durchzuführen: eine Kopie die unmittelbar eine neue Revision
          des Projektarchivs zur Folge hat, und für die überhaupt keine
          Arbeitskopie notwendig ist. Kopieren Sie einfach einen URL auf
@@ -398,13 +426,12 @@

        <informalexample>
          <screen>
-$ svn copy http://svn.example.com/repos/calc/trunk \
-           http://svn.example.com/repos/calc/branches/my-calc-branch \ <!--
-      -m "Creating a private branch of /calc/trunk."
+$ svn copy ^/calc/trunk ^/calc/branches/my-calc-branch \ <!--
+           -m "Creating a private branch of /calc/trunk."

  Committed revision 341.
  -->
-      -m "Privaten Zweig von /calc/trunk angelegt."
+           -m "Privaten Zweig von /calc/trunk angelegt."

  Revision 341 übertragen.
  $
@@ -428,7 +455,12 @@
          every file and subdirectory within that working copy directory
          on the local disk.  Copying a directory on the server,
          however, is a constant-time operation, and it's the way most
-        people create branches.</para>
+        people create branches.  In addition, this practice raises the
+        possibility of copying mixed-revision working copies.  This isn't
+        inherently dangerous, but can cause unnecessary complications later
+        during merging.  If you do choose to create a branch by copying a
+        working copy path, you should be sure the source directory has no
+        local modifications and is not at mixed-revisions.</para>
  -->
        <para>Dieser Befehl bewirkt eine fast sofortige Übergabe im
          Projektarchiv, wobei in Revision 341 ein neues Verzeichnis
@@ -450,7 +482,15 @@
          Platte dupliziert werden muss. Das Kopieren eines
          Verzeichnisses auf dem Server jedoch besitzt einen konstanten
          Zeitaufwand und ist die Art und Weise, auf die die meisten
-        Leute Zweige erstellen.</para>
+        Leute Zweige erstellen. Zusätzlich eröffnet diese
+        Vorgehensweise die Möglichkeit, Arbeitskopien mit gemischten
+        Revisionen zu kopieren. Das ist nicht von Natur aus
+        gefährlich, kann jedoch später beim Zusammenführen zu
+        unnötigen Komplikationen führen. Falls Sie sich entscheiden,
+        einen Zweig über eine Kopie eines Pfades der Arbeitskopie zu
+        erstellen, sollten Sie sicherstellen, dass das
+        Quellverzeichnis weder lokale Änderungen noch gemischte
+        Revisionen hat.</para>

        <figure id="svn.branchmerge.using.create.dia-1">
  <!--
@@ -562,9 +602,15 @@
        <informalexample>
          <screen>
  $ svn checkout http://svn.example.com/repos/calc/branches/my-calc-branch
-A  my-calc-branch/Makefile
-A  my-calc-branch/integer.c
-A  my-calc-branch/button.c <!--
+A    my-calc-branch/doc
+A    my-calc-branch/src
+A    my-calc-branch/doc/INSTALL
+A    my-calc-branch/src/real.c
+A    my-calc-branch/src/main.c
+A    my-calc-branch/src/button.c
+A    my-calc-branch/src/integer.c
+A    my-calc-branch/Makefile
+A    my-calc-branch/README<!--
  Checked out revision 341.
  -->
  Ausgecheckt, Revision 341.
@@ -603,33 +649,33 @@
          <listitem>
  <!--
            <para>You make a change to
-            <filename>/calc/branches/my-calc-branch/button.c</filename>,
+             
<filename>/calc/branches/my-calc-branch/src/button.c</filename>,
              which creates revision 342.</para>
  -->
            <para>Sie machen eine Änderung an
-            <filename>/calc/branches/my-calc-branch/button.c</filename>,
+             
<filename>/calc/branches/my-calc-branch/src/button.c</filename>,
            die die Revision 342 erzeugt.</para>
          </listitem>

          <listitem>
  <!--
            <para>You make a change to
-            <filename>/calc/branches/my-calc-branch/integer.c</filename>,
+             
<filename>/calc/branches/my-calc-branch/src/integer.c</filename>,
              which creates revision 343.</para>
  -->
            <para>Sie machen eine Änderung an
-            <filename>/calc/branches/my-calc-branch/integer.c</filename>,
+             
<filename>/calc/branches/my-calc-branch/src/integer.c</filename>,
              die die Revision 343 erzeugt.</para>
          </listitem>

          <listitem>
  <!--
            <para>Sally makes a change to
-            <filename>/calc/trunk/integer.c</filename>, which creates
+            <filename>/calc/trunk/src/integer.c</filename>, which creates
              revision 344.</para>
  -->
            <para>Sally macht eine Änderung an
-            <filename>/calc/trunk/integer.c</filename>, die die Revision
+            <filename>/calc/trunk/src/integer.c</filename>, die die  
Revision
              344 erzeugt.</para>
          </listitem>
        </itemizedlist>
@@ -665,35 +711,45 @@
  $ pwd
  /home/user/my-calc-branch

-$ svn log -v integer.c
+$ svn log -v src/integer.c
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-r343 | user | 2002-11-07 15:27:56 -0600 (Thu, 07 Nov 2002) | 2 lines
+r343 | user | 2013-02-15 14:11:09 -0500 (Fri, 15 Feb 2013) | 1 line
  Changed paths:
-   M /calc/branches/my-calc-branch/integer.c
+   M /calc/branches/my-calc-branch/src/integer.c

  * integer.c:  frozzled the wazjub.
-
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-r341 | user | 2002-11-03 15:27:56 -0600 (Thu, 07 Nov 2002) | 2 lines
+r341 | user | 2013-02-15 07:41:25 -0500 (Fri, 15 Feb 2013) | 1 line
  Changed paths:
     A /calc/branches/my-calc-branch (from /calc/trunk:340)

  Creating a private branch of /calc/trunk.
-
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-r303 | sally | 2002-10-29 21:14:35 -0600 (Tue, 29 Oct 2002) | 2 lines
+r154 | sally | 2013-01-30 04:20:03 -0500 (Wed, 30 Jan 2013) | 2 lines
  Changed paths:
-   M /calc/trunk/integer.c
+   M /calc/trunk/src/integer.c

  * integer.c:  changed a docstring.
-
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-r98 | sally | 2002-02-22 15:35:29 -0600 (Fri, 22 Feb 2002) | 2 lines
+…
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+r113 | sally | 2013-01-26 15:50:21 -0500 (Sat, 26 Jan 2013) | 2 lines
  Changed paths:
-   A /calc/trunk/integer.c
+   M /calc/trunk/src/integer.c

-* integer.c:  adding this file to the project.
+* integer.c: Revise the fooplus API.
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+r8 | sally | 2013-01-17 16:55:36 -0500 (Thu, 17 Jan 2013) | 1 line
+Changed paths:
+   A /calc/trunk/Makefile
+   A /calc/trunk/README
+   A /calc/trunk/doc/INSTALL
+   A /calc/trunk/src/button.c
+   A /calc/trunk/src/integer.c
+   A /calc/trunk/src/main.c
+   A /calc/trunk/src/real.c

+Initial trunk code import for calc project.
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  </screen>
        </informalexample>
@@ -703,35 +759,43 @@
  $ pwd
  /home/user/my-calc-branch

-$ svn log -v integer.c
+$ svn log -v src/integer.c
  ------------------------------------------------------------------------
-r343 | user | 2002-11-07 15:27:56 -0600 (Do, 07. Nov 2002) | 2 Zeilen
+r343 | user | 2013-02-15 14:11:09 -0500 (Fr, 15. Feb 2013) | 1 Zeile
  Geänderte Pfade:
-   M /calc/branches/my-calc-branch/integer.c
+   M /calc/branches/my-calc-branch/src/integer.c

  * integer.c:  Wazjub gefrozzelt.
-
  ------------------------------------------------------------------------
-r341 | user | 2002-11-03 15:27:56 -0600 (Do, 07. Nov 2002) | 2 Zeilen
+r341 | user | 2013-02-15 07:41:25 -0500 (Fr, 15. Feb 2013) | 1 Zeile
  Geänderte Pfade:
     A /calc/branches/my-calc-branch (from /calc/trunk:340)

  Privaten Zweig von /calc/trunk angelegt.
-
  ------------------------------------------------------------------------
-r303 | sally | 2002-10-29 21:14:35 -0600 (Di, 29. Okt 2002) | 2 Zeilen
+r154 | sally | 2013-01-30 04:20:03 -0500 (Mi, 30. Jan 2013) | 2 Zeilen
  Geänderte Pfade:
-   M /calc/trunk/integer.c
+   M /calc/trunk/src/integer.c

  * integer.c:  Einen Docstring geändert.
+------------------------------------------------------------------------
+r113 | sally | 2013-01-26 15:50:21 -0500 (Sa, 26. Jan 2013) | 2 Zeilen
+Geänderte Pfade:
+   A /calc/trunk/src/integer.c

+* integer.c:  Die fooplus API überarbeitet.
  ------------------------------------------------------------------------
-r98 | sally | 2002-02-22 15:35:29 -0600 (Fr, 22. Feb 2002) | 2 Zeilen
+r8 | sally | 2013-01-17 16:55:36 -0500 (Do, 17. Jan 2013) | 1 Zeile
  Geänderte Pfade:
-   A /calc/trunk/integer.c
+   A /calc/trunk/Makefile
+   A /calc/trunk/README
+   A /calc/trunk/doc/INSTALL
+   A /calc/trunk/src/button.c
+   A /calc/trunk/src/integer.c
+   A /calc/trunk/src/main.c
+   A /calc/trunk/src/real.c

-* integer.c:  Diese Datei dem Projekt hinzugefügt.
-
+Ursprünglicher Calc Projekt Quelltext-Import von trunk.
  ------------------------------------------------------------------------
  </screen>
        </informalexample>
@@ -763,28 +827,39 @@
  $ pwd
  /home/sally/calc

-$ svn log -v integer.c
+$ svn log -v src/integer.c
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-r344 | sally | 2002-11-07 15:27:56 -0600 (Thu, 07 Nov 2002) | 2 lines
+r344 | sally | 2013-02-15 16:44:44 -0500 (Fri, 15 Feb 2013) | 1 line
  Changed paths:
-   M /calc/trunk/integer.c
+   M /calc/trunk/src/integer.c

-* integer.c:  fix a bunch of spelling errors.
-
+Refactor the bazzle functions.
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-r303 | sally | 2002-10-29 21:14:35 -0600 (Tue, 29 Oct 2002) | 2 lines
+r154 | sally | 2013-01-30 04:20:03 -0500 (Wed, 30 Jan 2013) | 2 lines
  Changed paths:
-   M /calc/trunk/integer.c
+   M /calc/trunk/src/integer.c

  * integer.c:  changed a docstring.
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+…
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+r113 | sally | 2013-01-26 15:50:21 -0500 (Sat, 26 Jan 2013) | 2 lines
+Changed paths:
+   M /calc/trunk/src/integer.c

+* integer.c: Revise the fooplus API.
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-r98 | sally | 2002-02-22 15:35:29 -0600 (Fri, 22 Feb 2002) | 2 lines
+r8 | sally | 2013-01-17 16:55:36 -0500 (Thu, 17 Jan 2013) | 1 line
  Changed paths:
-   A /calc/trunk/integer.c
+   A /calc/trunk/Makefile
+   A /calc/trunk/README
+   A /calc/trunk/doc/INSTALL
+   A /calc/trunk/src/button.c
+   A /calc/trunk/src/integer.c
+   A /calc/trunk/src/main.c
+   A /calc/trunk/src/real.c

-* integer.c:  adding this file to the project.
-
+Initial trunk code import for calc project.
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  </screen>
        </informalexample>
@@ -794,28 +869,38 @@
  $ pwd
  /home/sally/calc

-$ svn log -v integer.c
+$ svn log -v src/integer.c
  ------------------------------------------------------------------------
-r344 | sally | 2002-11-07 15:27:56 -0600 (Do, 07. Nov 2002) | 2 Zeilen
+r344 | sally | 2013-02-15 16:44:44 -0500 (Fr, 15. Feb 2013) | 1 Zeile
  Changed paths:
-   M /calc/trunk/integer.c
+   M /calc/trunk/src/integer.c

-* integer.c:  Ein paar Rechtschreibfehler behoben.
-
+Die bazzle Funktionen refaktoriert.
  ------------------------------------------------------------------------
-r303 | sally | 2002-10-29 21:14:35 -0600 (Di, 29. Okt 2002) | 2 Zeilen
+r154 | sally | 2013-01-30 04:20:03 -0500 (Mi, 30. Jan 2013) | 2 Zeilen
  Changed paths:
-   M /calc/trunk/integer.c
+   M /calc/trunk/src/integer.c

  * integer.c:  Einen Docstring geändert.
-
  ------------------------------------------------------------------------
-r98 | sally | 2002-02-22 15:35:29 -0600 (Fr, 22. Feb 2002) | 2 Zeilen
+r113 | sally | 2013-01-26 15:50:21 -0500 (Sa, 26. Jan 2013) | 2 Zeilen
  Changed paths:
-   A /calc/trunk/integer.c
+   A /calc/trunk/src/integer.c

-* integer.c:  Diese Datei dem Projekt hinzugefügt.
+* integer.c:  Die fooplus API überarbeitet.

+------------------------------------------------------------------------
+r8 | sally | 2013-01-17 16:55:36 -0500 (Do, 17. Jan 2013) | 1 line
+Changed paths:
+   A /calc/trunk/Makefile
+   A /calc/trunk/README
+   A /calc/trunk/doc/INSTALL
+   A /calc/trunk/src/button.c
+   A /calc/trunk/src/integer.c
+   A /calc/trunk/src/main.c
+   A /calc/trunk/src/real.c
+
+Ursprünglicher Calc Projekt Quelltext-Import von trunk.
  ------------------------------------------------------------------------
  </screen>
        </informalexample>
@@ -828,8 +913,8 @@
          <emphasis>does</emphasis> show that the two files share a
          common history.  Before the branch copy was made in revision
          341, the files used to be the same file.  That's why you and
-        Sally both see the changes made in revisions 303 and
-        98.</para>
+        Sally both see the changes made between revisions 8 and
+        154.</para>
  -->
        <para>Sally sieht ihre eigene Änderung in Revision 344, aber
          nicht die Änderung, die Sie in Revision 343 gemacht haben. Was
@@ -839,8 +924,8 @@
          Subversion, dass die beiden Dateien einen Teil der Geschichte
          gemeinsam haben. Bevor die Kopie des Zweiges in Revision 341
          gemacht wurde, waren die Dateien dieselbe Datei.  Deshalb
-        sehen sowohl Sie als auch Sally die Änderungen, die in den
-        Revisionen 303 und 98 gemacht wurden.</para>
+        sehen sowohl Sie als auch Sally die Änderungen, die zwischen
+        den Revisionen 8 und 154 gemacht wurden.</para>

      </sect2>

@@ -957,7 +1042,10 @@
        Konflikten auf den Stamm zurückzuführen.</para>

  <!--
-    <para>Instead, you and Sally might continue to share changes as
+    <para>
+      <indexterm>
+        <primary>merging</primary>
+      </indexterm>Instead, you and Sally might continue to share changes as
        you work.  It's up to you to decide which changes are worth
        sharing; Subversion gives you the ability to selectively
        <quote>copy</quote> changes between branches.  And when you're
@@ -968,7 +1056,14 @@
        it is performed using various invocations of the <command>svn
        merge</command> subcommand.</para>
  -->
-    <para>Stattdessen könnten Sie und Sally fortfahren, während der
+    <para>
+      <indexterm>
+        <primary>Merging</primary>
+      </indexterm>
+      <indexterm>
+        <primary>Zusammenführen</primary>
+        <see>Merging</see>
+      </indexterm>Stattdessen könnten Sie und Sally fortfahren, während der
        Arbeit Änderungen gemeinsam zu verwenden. Es liegt an Ihnen, zu
        entscheiden, welche Änderungen teilenswert sind; Subversion
        bietet Ihnen die Fähigkeit, Änderungen selektiv zwischen Zweigen
@@ -984,7 +1079,7 @@

  <!--
      <para>In the examples that follow, we're assuming that both your
-      Subversion client and server are running Subversion 1.7 (or
+      Subversion client and server are running Subversion 1.8 (or
        later).  If either client or server is older than version 1.5,
        things are more complicated: the system won't track changes
        automatically, forcing you to use painful manual methods to
@@ -999,17 +1094,17 @@
  -->
      <para>In den folgenden Beispielen gehen wir davon aus, dass sowohl
        auf Ihrem Subversion-Client als auch auf dem Server Subversion
-      1.7 (oder neuer) läuft. Falls einer von beiden älter als Version
+      1.8 (oder neuer) läuft. Falls einer von beiden älter als Version
        1.5 ist, wird es komplizierter: Das System wird Änderungen nicht
        automatisch mitverfolgen, so dass Sie schmerzhafte manuelle
        Methoden anwenden müssen, um ähnliche Resultate zu
        erzielen. Dass heißt, dass Sie stets die detaillierte Syntax
        beim Zusammenführen verwenden müssen, um bestimmte
-      Revisionsintervalle zu übertragen (siehe <xref
-      linkend="svn.branchmerge.advanced.advancedsyntax"/> weiter unten
-      in diesem Kapitel), und besonders sorgfältig verfolgen müssen,
-      was bereits zusammengeführt ist und was nicht. Aus diesem Grund
-      empfehlen wir Ihnen <emphasis>dringend</emphasis>,
+      Revisionsintervalle zu übertragen (siehe
+      <xref linkend="svn.branchmerge.advanced.advancedsyntax"/> weiter
+      unten in diesem Kapitel), und besonders sorgfältig verfolgen
+      müssen, was bereits zusammengeführt ist und was nicht. Aus
+      diesem Grund empfehlen wir Ihnen <emphasis>dringend</emphasis>,
        sicherzustellen, dass Ihr Client und Server mindestens die
        Version 1.5 haben.</para>

@@ -1019,18 +1114,17 @@
        <para>
          <indexterm>
            <primary>merge tracking</primary>
-        </indexterm>
-        Subversion 1.5 introduced the
+        </indexterm>Subversion 1.5 introduced the
          <firstterm>merge tracking</firstterm> feature to Subversion.
          Prior to this feature keeping track of merges required cumbersome
          manual procedures or the use of external tools. Subsequent
          releases of Subversion introduced many enhancements and bug
          fixes to merge tracking, which is why we recommend using the
-        most recent versions on both your server and client.  Keep in
-        mind that even if your server is running 1.5 or 1.6, you can still
-        use a 1.7 client.  This is particularly important as regards merge
-        tracking, because the overwhelming majority of fixes to it are on
-        the client side.</para>
+        most recent versions for both your server and client.  Keep in
+        mind that even if your server is running 1.5-1.7, you can still
+        use a 1.8 client.  This is particularly important with regard to  
merge
+        tracking, because the overwhelming majority of fixes and  
enhancements
+        to it are on the client side.</para>
      </sidebar>
  -->
      <sidebar id="svn.branchmerge.basicmerging.mergetracking">
@@ -1042,8 +1136,7 @@
          <indexterm>
            <primary>Verfolgung von Zusammenführungen</primary>
            <see>Merge-Tracking</see>
-        </indexterm>
-        Subversion 1.5 führte die Funktionalität der
+        </indexterm>Subversion 1.5 führte die Funktionalität der
          <firstterm>Verfolgung von Zusammenführungen</firstterm>
          (<foreignphrase>merge tracking</foreignphrase>) in
          Subversion ein. Vor dieser Funktionalität erforderte das Verfolgen
@@ -1053,11 +1146,11 @@
          Merge-Tracking ein, weshalb wir empfehlen, die neuesten
          Versionen sowohl auf Ihrem Server als auch auf dem Client
          einzusetzen. Vergessen Sie nicht, dass Sie immer noch einen
-        1.7 Client verwenden können, auch wenn auf Ihrem Server 1.5
-        oder 1.6 laufen. Das ist besonders hinsichtlich des
-        Merge-Trackings wichtig, da eine überwältigende Mehrheit von
-        Fehlerbehebungen daran auf der Client-Seite statt gefunden
-        haben.</para>
+        1.8 Client verwenden können, auch wenn auf Ihrem Server
+        1.5-1.7 laufen. Das ist besonders wichtig hinsichtlich des
+        Merge-Trackings, da die überwältigende Mehrheit der
+        Fehlerbehebungen und Verbesserungen auf der Client-Seite statt
+        gefunden hat.</para>
      </sidebar>

      <!-- ===============================================================  
-->
@@ -1068,7 +1161,10 @@
        <title>Änderungsmengen</title>

  <!--
-      <para>Before we proceed further, we should warn you that there's
+      <para>
+        <indexterm>
+          <primary>changesets</primary>
+        </indexterm>Before we proceed further, we should warn you that  
there's
          a lot of discussion of <quote>changes</quote> in
          the pages ahead.  A lot of people experienced with version
          control systems use the terms <quote>change</quote>
@@ -1076,7 +1172,14 @@
          clarify what Subversion understands as
          a <firstterm>changeset</firstterm>.</para>
  -->
-      <para>Bevor wir weitermachen, sollten wir Sie warnen, dass Sie
+      <para>
+        <indexterm>
+          <primary>changesets</primary>
+        </indexterm>i
+        <indexterm>
+          <primary>Änderungsmengen</primary>
+          <see>changesets</see>
+        </indexterm>Bevor wir weitermachen, sollten wir Sie warnen, dass  
Sie
          auf den kommenden Seiten viele Erörterungen zum Thema
          <quote>Änderungen</quote> erwarten. Viele mit
          Versions-Kontroll-Systemen erfahrene Leute benutzen die Begriffe
@@ -1169,20 +1272,48 @@
        <title>Einen Zweig synchron halten</title>

  <!--
-      <para>Continuing with our running example, let's suppose that a
-        week has passed since you started working on your private
-        branch.  Your new feature isn't finished yet, but at the same
-        time you know that other people on your team continue to make
-        important changes in the
+      <para>
+        <indexterm>
+          <primary>merging</primary>
+          <secondary>sync merges</secondary>
+        </indexterm>
+        <indexterm>
+          <primary>svn</primary>
+          <secondary>subcommands</secondary>
+          <tertiary>merge</tertiary>
+        </indexterm>Continuing with our running example, let's suppose
+        that a week has passed since you started working on your
+        private branch.  Your new feature isn't finished yet, but at
+        the same time you know that other people on your team continue
+        to make important changes in the
          project's <filename>/trunk</filename>.  It's in your best
          interest to replicate those changes to your own branch, just
          to make sure they mesh well with your changes.  This is done
-        by performing a <firstterm>sync merge</firstterm>—a
+        by performing an <firstterm>automatic sync  
merge</firstterm>—a
          merge operation designed to bring your branch up to date with
          any changes made to its ancestral parent branch since your
-        branch was created.</para>
+        branch was created.
+        <indexterm>
+          <primary>merging</primary>
+          <secondary>automatic</secondary>
+        </indexterm> An <quote>automatic</quote> merge is simply
+        one in which you provide the bare minimum of information required
+        for a merge (i.e. a single merge source and a working copy target)
+        and let Subversion determine which changes need merging—no
+        changesets are passed to <command>svn merge</command> via the
+        <option>-r</option> or <option>-c</option> options in an automatic
+        merge.</para>
  -->
-      <para>Machen wir mit unserem Beispiel weiter und nehmen an, dass
+      <para>
+        <indexterm>
+          <primary>Merging</primary>
+          <secondary>Synchronisierungs-Merge</secondary>
+        </indexterm>
+        <indexterm>
+          <primary>svn</primary>
+          <secondary>Unterbefehle</secondary>
+          <tertiary>merge</tertiary>
+        </indexterm>Machen wir mit unserem Beispiel weiter und nehmen an,  
dass
          eine Woche vergangen ist seitdem Sie begonnen haben, auf
          Ihrem privaten Zweig zu arbeiten. Ihre Arbeit ist noch nicht
          beendet, jedoch wissen Sie, dass gleichzeitig andere Leute in
@@ -1195,8 +1326,19 @@
          erreicht – ein <foreignphrase>Merge</foreignphrase> zu
          dem Zweck, Ihren Zweig mit Änderungen zu aktualisieren, die
          seit der Erstellung Ihres Zweigs auf dem Ursprungszweig
-        vorgenommen wurden.</para>
-
+        vorgenommen wurden.
+        <indexterm>
+          <primary>Merging</primary>
+          <secondary>automatisch</secondary>
+        </indexterm> Ein <quote>automatischer</quote> Merge ist ganz
+        einfach einer, bei dem Sie das absolute Minimum an benötigten
+        Informationen für einen Merge angeben (d.h., eine einzelne
+        Merge-Quelle und ein Arbeitskopie-Ziel) und Subversion
+        entscheiden lassen, welche Änderungen zusammengeführt werden
+        müssen – bei einem automatischen Merge werden keine
+        Änderungsmengen  mit <option>-r</option> oder
+        <option>-c</option> an <command>svn merge</command>
+        übergeben.</para>
  <!--
        <tip>
          <para>Frequently keeping your branch in sync with the main
@@ -1235,21 +1377,26 @@
  /home/user/my-calc-branch

  $ svn merge ^/calc/trunk <!--
-- - - Merging r345 through r356 into '.':
+- - Merging r341 through r351 into '.':
  -->
--- Zusammenführen von r345 bis r356 in ».«:
-U    button.c
-U    integer.c <!--
-- - - Recording mergeinfo for merge of r345 through r356 into '.':
+-- Zusammenführen von r341 bis r351 in ».«:
+U    doc/INSTALL
+U    src/real.c
+U    src/button.c<!--
+- - Recording mergeinfo for merge of r345 through r356 into '.':
  -->
--- Aufzeichnung der Informationen für Zusammenführung von r345 in ».«:
+-- Aufzeichnung der Informationen für Zusammenführung von r341 bis r356 in  
».«:
   U   .
  $
  </screen>
        </informalexample>

  <!--
-      <para>This basic syntax—<userinput>svn merge
+      <para>
+        <indexterm>
+          <primary>properties</primary>
+          <secondary>svn:mergeinfo</secondary>
+        </indexterm>This basic syntax—<userinput>svn merge
          <replaceable>URL</replaceable></userinput>—tells
          Subversion to merge all changes which have not been previously
          merged from the URL to the current working directory (which is
@@ -1265,7 +1412,11 @@
          chapter, in
          <xref linkend="svn.branchmerge.basicmerging.mergeinfo"/>.</para>
  -->
-      <para>Diese einfache Syntax – <userinput>svn merge
+      <para>
+        <indexterm>
+          <primary>Eigenschaften</primary>
+          <secondary>svn:mergeinfo</secondary>
+        </indexterm>Diese einfache Syntax – <userinput>svn merge
          <replaceable>URL</replaceable></userinput> – fordert
          Subversion auf, alle Änderungen von dem URL, die vorher noch
          nicht zusammengeführt wurden,  mit dem aktuellen
@@ -1289,22 +1440,21 @@
          <para>
            <indexterm>
              <primary>mergeinfo</primary>
-          </indexterm>
-          In this book and elsewhere (Subversion mailing lists, articles
-          on merge tracking, etc.) you will frequently come across the
-          term <firstterm>mergeinfo</firstterm>. This is simply shorthand
-          for the <literal>svn:mergeinfo</literal> property.</para>
+          </indexterm>In this book and elsewhere (Subversion mailing
+          lists, articles on merge tracking, etc.) you will frequently
+          come across the term <firstterm>mergeinfo</firstterm>. This
+          is simply shorthand for the <literal>svn:mergeinfo</literal>
+          property.</para>
        </tip>
  -->
        <tip>
          <para>
            <indexterm>
              <primary>Mergeinfo</primary>
-          </indexterm>
-          In diesem Buch und anderswo (Subversion Mailing-Listen,
-          Artikeln über Merge-Tracking usw.) wird Ihnen oft der
-          Begriff <firstterm>Mergeinfo</firstterm> begegnen.  Das ist
-          einfach die Abkürzung für die Eigenschaft
+          </indexterm>In diesem Buch und anderswo (Subversion
+          Mailing-Listen, Artikeln über Merge-Tracking usw.) wird
+          Ihnen oft der Begriff <firstterm>Mergeinfo</firstterm>
+          begegnen.  Das ist einfach die Abkürzung für die Eigenschaft
            <literal>svn:mergeinfo</literal>.</para>
        </tip>

@@ -1317,20 +1467,21 @@
  <!--
          <para>You may not always be able to use Subversion's merge
            tracking feature, perhaps because your server is running
-          Subversion 1.4 or earlier.  In such a scenario, you can of
-          course still perform merges, but Subversion will need you to
-          manually do many of the historical calculations that it
-          automatically does on your behalf when the merge tracking
-          feature is available.</para>
+          Subversion 1.4 or earlier or you must use an older client.
+          In such a scenario, you can of course still perform merges,
+          but Subversion will need you to manually do many of the  
historical
+          calculations that it automatically does on your behalf when the
+          merge tracking feature is available.</para>
  -->
-        <para>Es kann sein, dass Sie nicht immer die
-          Zusammenführungs-Verfolgung von Subversion verwenden können,
-          vielleicht, weil auf Ihrem Server Subversion 1.4 oder älter
-          läuft. In einem solchen Szenario, können Sie
-          selbstverständlich immer noch zusammenführen, doch erwartet
-          Subversion von Ihnen, viele der historischen Berechnungen
-          selbst manuell vorzunehmen, die Ihnen das Merge-Tracking
-          abnehmen würde, wenn sie verfügbar wäre.</para>
+        <para>Es kann sein, dass Sie nicht immer das Merge-Tracking
+          von Subversion verwenden können, vielleicht, weil auf Ihrem
+          Server Subversion 1.4 oder älter läuft oder Sie einen
+          älteren Client verwenden. In einem solchen Szenario, können
+          Sie selbstverständlich immer noch zusammenführen, doch
+          erwartet Subversion von Ihnen, viele der historischen
+          Berechnungen selbst manuell vorzunehmen, die Ihnen das
+          Merge-Tracking abnehmen würde, wenn sie verfügbar
+          wäre.</para>

  <!--
          <para>To replicate the most recent trunk changes you need to
@@ -1345,61 +1496,71 @@
            möchten.</para>

  <!--
-        <para>Let's say you branched <filename>/trunk</filename> to
-          <filename>/branches/foo-feature</filename> in revision
-          400:</para>
+        <para>Using the ongoing example, you know that you branched
+          <filename>/calc/trunk</filename> to
+          <filename>/calc/branches/my-calc-branch</filename> in revision
+          341:</para>
  -->
-        <para>Sagen wir einmal, Sie hätten in Revision 400
-          <filename>/branches/foo-feature</filename> von
-          <filename>/trunk</filename> abgezweigt:</para>
+        <para>Im laufenden Beispiel wissen Sie, dass Sie in Revision
+          341 <filename>/calc/trunk</filename> nach
+          <filename>/calc/branches/my-calc-branch</filename>
+          abgezweigt haben:</para>

          <informalexample>
            <screen>
-$ svn log -v -r 400 ^/branches/foo-feature
+$ svn log -v -r341
  ------------------------------------------------------------------------  
<!--
-r400 | carol | 2011-11-09 10:51:27 -0500 (Wed, 09 Nov 2011) | 1 line
+r341 | user | 2013-02-15 07:41:25 -0500 (Fri, 15 Feb 2013) | 1 line
  Changed paths:
-A /branch/b2 (from /trunk:399)
+   A /calc/branches/my-calc-branch (from /calc/trunk:340)
  -->
-r400 | carol | 2011-11-09 10:51:27 -0500 (Mi, 09. Nov 2011) | 1 Zeile
+r341 | user | 2013-02-15 07:41:25 -0500 (Fr, 15. Feb 2013) | 1 Zeile
  Geänderte Pfade:
-A /branch/b2 (von /trunk:399)
+   A /calc/branches/my-calc-branch (von /calc/trunk:340)

-Create branch for the foo feature
+Creating a private branch of /calc/trunk.
  ------------------------------------------------------------------------
  </screen>
          </informalexample>

  <!--
-        <para>When you are ready to syncronize your branch with the
+        <para>When you are ready to synchronize your branch with the
            ongoing changes from trunk, you specify the starting
-          revision as the revision of <filename>/trunk</filename>
+          revision as the revision of <filename>/calc/trunk</filename>
            which the branch was copied from and the ending revision as
-          <literal>HEAD</literal>:</para>
+          the youngest change on <filename>/calc/trunk</filename>.  You
+          can find the latter with the <command>svn log</command> command
+          with the <option>-r</option> set to  
<literal>HEAD</literal>:</para>
  -->
          <para>Wenn Sie soweit sind, Ihren Zweig mit den fortlaufenden
            Änderungen vom Stamm zu synchronisieren, geben Sie die
            Start-Revision al die Revision von
-          <filename>/trunk</filename> an, von wo aus Sie den Zweig
-          kopiert haben, und als End-Revision
-          <literal>HEAD</literal>:</para>
+          <filename>/calc/trunk</filename> an, von wo aus Sie den
+          Zweig kopiert haben, und als End-Revision die letzte
+          Änderung auf <filename>/calc/trunk</filename>. Letztere
+          können Sie finden, indem Sie den Befehl <command>svn
+          log</command> mit der Option <option>-r</option> und dem
+          Optionsargument <literal>HEAD</literal> aufrufen:</para>

          <informalexample>
            <screen>
-$ svn merge ^/trunk -r399:HEAD <!--
-- - - Merging r400 through r556 into '.':
--->
--- Zusammenführen von r400 bis r556 in ».«:
-A    include/foo.h
-U    src/main.c
-A    src/foo.c
-…
+$ svn log -q -rHEAD http://svn.example.com/repos/calc/trunk
+------------------------------------------------------------------------<!--
+r351 | sally | 2013-02-16 08:04:22 -0500 (Sat, 16 Feb 2013)-->
+r351 | sally | 2013-02-16 08:04:22 -0500 (Sa, 16. Feb 2013)
+------------------------------------------------------------------------
+
+$ svn merge http://svn.example.com/repos/calc/trunk -r340:351
+U    doc/INSTALL
+U    src/real.c
+U    src/button.c
+U    Makefile
  </screen>
          </informalexample>

  <!--
          <para>After any conflicts have been resolved, you can commit
-          the merged changed to your branch.  Now, to avoid
+          the merged changes to your branch.  Now, to avoid
            accidentally trying to merge these same changes into your
            branch again in the future, you'll need to record the fact
            that you've already merged them.  But where should that
@@ -1418,26 +1579,16 @@

          <informalexample>
            <screen>
-<!--
-$ svn ci -m "Sync the foo-feature branch with ^/trunk through r556."
-Sending        include/foo.h
+$ svn ci -m "Sync the my-calc-branch with ^/calc/trunk through r351."
  …
-Transmitting file data .
-Committed revision 557.
--->
-$ svn ci -m "Den foo-Feature-Zweig mit ^/trunk bis r556 synchronisiert."
-Sende          include/foo.h
-…
-Übertrage Daten .
-Revision 557 übertragen.
  </screen>
          </informalexample>

  <!--
          <para>The next time you sync
-          <filename>/branches/foo-branch</filename> with
-          <filename>/trunk</filename> you repeat this process, except that
-          the starting revision is the <emphasis>youngest</emphasis>
+          <filename>/calc/branches/my-calc-branch</filename>  with
+          <filename>/calc/trunk</filename> you repeat this process, except
+          that the starting revision is the <emphasis>youngest</emphasis>
            revision that's already been merged in from the trunk.
            If you've been keeping good records of your merges in the
            commit log messages, you should be able to determine what
@@ -1446,11 +1597,11 @@
            revision, you can perform another sync merge:</para>
  -->
          <para>Beim nächsten Mal, wenn Sie
-          <filename>/branches/foo-branch</filename> mit
-          <filename>/trunk</filename> synchronisieren, wiederholen Sie
-          diesen Prozess, mit der Ausnahme, dass die Start-Revision
-          die <emphasis>jüngste</emphasis> bereits vom Stamm
-          zusammengeführte Revision ist. Wenn Sie in Ihren
+          <filename>/calc/branches/my-calc-branch</filename> mit
+          <filename>/calc/trunk</filename> synchronisieren,
+          wiederholen Sie diesen Prozess, mit der Ausnahme, dass die
+          Start-Revision die <emphasis>jüngste</emphasis> bereits vom
+          Stamm zusammengeführte Revision ist. Wenn Sie in Ihren
            Protokollnachrichten darüber gut Buch geführt haben, sollten
            Sie in der Lage sein, festzustellen, welches diese jüngste
            Revision war, indem Sie die Protokollnachrichten Ihres
@@ -1460,7 +1611,13 @@

          <informalexample>
            <screen>
-$ svn merge ^/trunk -r556:HEAD
+$ svn log -q -rHEAD http://svn.example.com/repos/calc/trunk
+------------------------------------------------------------------------<!--
+r959 | sally | 2013-03-5 7:30:21 -0500 (Tue, 05 Mar 2013)-->
+r959 | sally | 2013-03-5 7:30:21 -0500 (Di, 05. Mär 2013)
+------------------------------------------------------------------------
+
+$ svn merge http://svn.example.com/repos/calc/trunk -r351:959
  …
  </screen>
          </informalexample>
@@ -1482,9 +1639,10 @@
          <screen>
  $ svn status
   M      .
-M       button.c
-M       integer.c
-$
+M       Makefile
+M       doc/INSTALL
+M       src/button.c
+M       src/real.c
  </screen>
        </informalexample>

@@ -1493,13 +1651,9 @@
          carefully with <command>svn diff</command>, and then build and
          test your branch.  Notice that the current working directory
          (<quote><filename>.</filename></quote>) has also been
-        modified; <command>svn diff</command> will show that
-        its <literal>svn:mergeinfo</literal> property has been either
-        created or modified.  This is important merge-related metadata
-        that you should <emphasis>not</emphasis> touch, since it is
-        needed by future <command>svn merge</command> commands.
-        (We'll learn more about this metadata later in the
-        chapter.)</para>
+        modified; <command>svn diff</command> shows that
+        its <literal>svn:mergeinfo</literal> property has been created.
+  </para>
  -->
        <para>Zu diesem Zeitpunkt ist es weise, sich die Änderungen
          mithilfe von <command>svn diff</command> sorgfältig anzusehen,
@@ -1507,9 +1661,48 @@
          testen. Beachten Sie, dass auch das aktuelle
          Arbeitsverzeichnis (<quote><filename>.</filename></quote>)
          verändert wurde; <command>svn diff</command> zeigt an, dass
-        seine Eigenschaft <literal>svn:mergeinfo</literal> entweder
-        angelegt oder modifiziert wurde. Das ist ein wichtiges
-        Metadatum in Zusammenhang mit Zusammenführungen, das Sie
+        seine Eigenschaft <literal>svn:mergeinfo</literal> angelegt
+        wurde.</para>
+
+      <informalexample>
+<!--
+        <screen>
+$ svn diff - -depth empty .
+Index: .
+===================================================================
+- - .   (revision 351)
++++ .   (working copy)
+
+Property changes on: .
+___________________________________________________________________
+Added: svn:mergeinfo
+   Merged /calc/trunk:r341-351
+</screen>
+-->
+        <screen>
+$ svn diff --depth empty .
+Index: .
+===================================================================
+--- .   (Revision 351)
++++ .   (Arbeitskopie)
+
+Eigenschaftsänderungen: .
+___________________________________________________________________
***The diff for this file has been truncated for email.***


More information about the svnbook-dev mailing list