[svnbook] r4518 committed - Translation up to "Mergeinfo and Previews".

svnbook at googlecode.com svnbook at googlecode.com
Tue Jul 2 14:54:43 CDT 2013


Revision: 4518
Author:   jmfelderhoff at gmx.eu
Date:     Tue Jul  2 12:54:31 2013
Log:      Translation up to "Mergeinfo and Previews".

http://code.google.com/p/svnbook/source/detail?r=4518

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

=======================================
--- /branches/1.6/de/book/ch04-branching-and-merging.xml	Mon Aug  2  
11:28:16 2010
+++ /branches/1.6/de/book/ch04-branching-and-merging.xml	Tue Jul  2  
12:54:31 2013
@@ -96,15 +96,22 @@
        Dingen.</para>

  <!--
-    <para>This is the basic concept of a
-      <firstterm>branch</firstterm>—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 moves on
-      from there, generating its own history (see <xref
-      linkend="svn.branchmerge.whatis.dia-1"/>).</para>
+    <para>
+      <indexterm>
+        <primary>branches</primary>
+      </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
+      moves on from there, generating its own history (see
+      <xref linkend="svn.branchmerge.whatis.dia-1"/>).</para>
  -->
-    <para>Das ist das Grundkonzept eines <firstterm>Zweigs</firstterm>
+    <para>
+      <indexterm>
+        <primary>Zweige</primary>
+      </indexterm>
+      Das ist das Grundkonzept eines <firstterm>Zweigs</firstterm>
        (Branch) – nämlich eine Entwicklungslinie, die unabhängig
        von einer anderen existiert, jedoch über eine gemeinsame
        Geschichte verfügt, wenn lang genug in der Zeit zurück gegangen
@@ -113,13 +120,13 @@
        Geschichte erzeugt (siehe <xref
        linkend="svn.branchmerge.whatis.dia-1"/>).</para>

-      <figure id="svn.branchmerge.whatis.dia-1">
+    <figure id="svn.branchmerge.whatis.dia-1">
  <!--
-        <title>Branches of development</title>
+      <title>Branches of development</title>
  -->
-        <title>Entwicklungszweige</title>
-        <graphic fileref="images/ch04dia1.png"/>
-      </figure>
+      <title>Entwicklungszweige</title>
+      <graphic fileref="images/ch04dia1.png"/>
+    </figure>

  <!--
      <para>Subversion has commands to help you maintain parallel
@@ -155,15 +162,15 @@

  <!--
      <para>At this point, you should understand how each commit creates
-      an entirely new filesystem tree (called a <quote>revision</quote>)
+      a new state of the filesystem tree (called a <quote>revision</quote>)
        in the repository.  If you don't, go back and read about revisions in
        <xref linkend="svn.basic.in-action.revs"/>.</para>
  -->
      <para>An dieser Stelle sollten Sie verstehen, wie jede Übergabe an
-      das Projektarchiv dort einen völlig neuen Dateibaum
-      (<quote>Revision</quote> genannt) erzeugt. Wenn nicht, blättern
-      Sie zurück und lesen Sie in <xref
-      linkend="svn.basic.in-action.revs"/> über Revisionen
+      das Projektarchiv dort einen neuen Zustand des Dateibaums
+      (genannt <quote>Revision</quote>) erzeugt. Wenn nicht, blättern
+      Sie zurück und lesen Sie in
+      <xref linkend="svn.basic.in-action.revs"/> über Revisionen
        nach.</para>

  <!--
@@ -187,13 +194,13 @@
        <filename>trunk</filename> und <filename>branches</filename>
        beinhaltet.  Der Grund hierfür wird bald klar sein.</para>

-      <figure id="svn.branchmerge.using.dia-1">
+    <figure id="svn.branchmerge.using.dia-1">
  <!--
-        <title>Starting repository layout</title>
+      <title>Starting repository layout</title>
  -->
-        <title>Projektarchiv-Struktur zu Beginn</title>
-        <graphic fileref="images/ch04dia2.png"/>
-      </figure>
+      <title>Projektarchiv-Struktur zu Beginn</title>
+      <graphic fileref="images/ch04dia2.png"/>
+    </figure>

  <!--
      <para>As before, assume that Sally and you both have working
@@ -228,13 +235,13 @@
      <para>Sagen wir mal, dass Sie die Aufgabe bekommen haben, ein
        großes Stück Software umzusetzen. Die Erstellung benötigt eine
        lange Zeit und berührt alle Dateien im Projekt. Das Problem,
-      dass sofort auftaucht ist, dass Sie nicht Sally in die Quere
+      dass sofort auftaucht ist, dass Sie Sally nicht in die Quere
        kommen möchten, die gerade hier und da kleinere Fehler
-      beseitigt. Sie ist abhängig von der Tatsache, dass die letzte
-      Version des Projektes (in <filename>/calc/trunk</filename>)
-      stets benutzbar ist. Wenn Sie nun damit beginnen, Stück für
-      Stück Ihre Änderungen zu übergeben, werden Sie gewiss die Dinge
-      für Sally (und auch für andere Teammitglieder) in Unordnung
+      beseitigt. Sie ist davon abhängig, dass die letzte Version des
+      Projektes (in <filename>/calc/trunk</filename>) stets benutzbar
+      ist. Wenn Sie nun damit beginnen, Stück für Stück Ihre
+      Änderungen zu übergeben, werden Sie die Dinge für Sally (und
+      auch für andere Teammitglieder) bestimmt in Unordnung
        bringen.</para>

  <!--
@@ -364,68 +371,66 @@
          einen anderen:</para>

  <!--
-      <screen>
+      <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."

  Committed revision 341.
  </screen>
+      </informalexample>
  -->
-      <screen>
+      <informalexample>
+        <screen>
  $ svn copy http://svn.example.com/repos/calc/trunk \
             http://svn.example.com/repos/calc/branches/my-calc-branch \
        -m "Privaten Zweig von /calc/trunk angelegt."

  Revision 341 übertragen.
  </screen>
+      </informalexample>

  <!--
        <para>This command causes a near-instantaneous commit in the
          repository, creating a new directory in revision 341.  The new
          directory is a copy of <filename>/calc/trunk</filename>.  This
-        is shown in
-        <xref linkend="svn.branchmerge.using.create.dia-1"/>.
-        <footnote>
-        <para>Subversion does not support copying between different
-        repositories.  When using URLs with <command>svn
+        is shown in <xref linkend="svn.branchmerge.using.create.dia-1"
+        />.<footnote><para>Subversion does not support copying between
+        different repositories.  When using URLs with <command>svn
          copy</command> or <command>svn move</command>, you can only
-        copy items within the same repository.</para>
-        </footnote>
-
-        While it's also possible to create a branch by
-        using <command>svn copy</command> to duplicate a directory
-        within the working copy, this technique isn't recommended.  It
-        can be quite slow, in fact!  Copying a directory on the
-        client side is a linear-time operation, in that it actually
-        has to duplicate every file and subdirectory 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>
+        copy items within the same repository.</para></footnote>  While
+        it's also possible to create a branch by using <command>svn
+        copy</command> to duplicate a directory within the working
+        copy, this technique isn't recommended.  It can be quite slow,
+        in fact!  Copying a directory on the client side is a
+        linear-time operation, in that it actually has to duplicate
+        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>
  -->
        <para>Dieser Befehl bewirkt eine fast sofortige Übergabe im
          Projektarchiv, wobei in Revision 341 ein neues Verzeichnis
          erzeugt wird. Das neue Verzeichnis ist eine Kopie von
          <filename>/calc/trunk</filename>. Dies wird in <xref
          linkend="svn.branchmerge.using.create.dia-1"/> gezeigt.
-        <footnote>
-        <para>Subversion unterstützt nicht das Kopieren zwischen
-        verschiedenen Projektarchiven. Wenn Sie mit <command>svn
-        copy</command> oder <command>svn move</command> URLs
-        verwenden, können Sie nur Objekte innerhalb desselben
-        Projektarchivs kopieren oder verschieben.</para>
-        </footnote>
-
+        <footnote> <para>Subversion unterstützt nicht das Kopieren
+        zwischen verschiedenen Projektarchiven. Wenn Sie mit
+        <command>svn copy</command> oder <command>svn move</command>
+        URLs verwenden, können Sie nur Objekte innerhalb desselben
+        Projektarchivs kopieren oder verschieben.</para></footnote>
          Obwohl es auch möglich ist, einen Zweig zu erzeugen, indem
          <command>svn copy</command> verwendet wird, um ein Verzeichnis
          innerhalb der Arbeitskopie zu duplizieren, wird dieses
          Vorgehen nicht empfohlen. Es kann in der Tat sehr langsam
          sein! Das client-seitige Kopieren eines Verzeichnisses besitzt
          einen linearen Zeitaufwand, da wirklich jede Datei und jedes
-        Verzeichnis auf der lokalen 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>
+        Verzeichnis innerhalb dieser Arbeitskopie auf der lokalen
+        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>

        <figure id="svn.branchmerge.using.create.dia-1">
  <!--
@@ -501,8 +506,9 @@
            copies of trees.  The main point here is that copies are
            cheap, both in time and in space.  If you create a branch
            entirely within the repository (by running <userinput>svn copy
-          <replaceable>URL1</replaceable>  
<replaceable>URL2</replaceable></userinput>), it's a quick, constant-time  
operation.
-          Make branches as often as you want.</para>
+          <replaceable>URL1</replaceable>  
<replaceable>URL2</replaceable></userinput>),
+          it's a quick, constant-time operation.  Make branches as
+          often as you want.</para>
  -->
          <para>Natürlich sind diese internen Mechanismen des Kopierens
            und Teilens vor dem Benutzer verborgen, der lediglich Kopien
@@ -534,21 +540,27 @@
          benutzen:</para>

  <!--
-      <screen>
+      <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
  Checked out revision 341.
+$
  </screen>
+      </informalexample>
  -->
-      <screen>
+      <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
  Ausgecheckt, Revision 341.
+$
  </screen>
+      </informalexample>

  <!--
        <para>There's nothing special about this working copy; it simply
@@ -578,37 +590,37 @@
          folgenden Übergaben stattfinden:</para>

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

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

-        <listitem><para>
+        <listitem>
  <!--
-          Sally makes a change to
-          <filename>/calc/trunk/integer.c</filename>, which creates
-          revision 344.</para>
+          <para>Sally makes a change to
+            <filename>/calc/trunk/integer.c</filename>, which creates
+            revision 344.</para>
  -->
-          Sally macht eine Änderung an
-          <filename>/calc/trunk/integer.c</filename>, die die Revision
-          344 erzeugt.</para>
+          <para>Sally macht eine Änderung an
+            <filename>/calc/trunk/integer.c</filename>, die die Revision
+            344 erzeugt.</para>
          </listitem>
        </itemizedlist>

@@ -631,15 +643,15 @@

  <!--
        <para>Things get interesting when you look at the history of
-        changes made to your copy of
-        <filename>integer.c</filename>:</para>
+        changes made to your copy of <filename>integer.c</filename>:</para>
  -->
        <para>Es wird interessant, wenn Sie die Geschichte der
          Änderungen an Ihrer Kopie von <filename>integer.c</filename>
          betrachten:</para>

  <!--
-      <screen>
+      <informalexample>
+        <screen>
  $ pwd
  /home/user/my-calc-branch

@@ -674,8 +686,10 @@

  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  </screen>
+      </informalexample>
  -->
-      <screen>
+      <informalexample>
+        <screen>
  $ pwd
  /home/user/my-calc-branch

@@ -710,6 +724,7 @@

  ------------------------------------------------------------------------
  </screen>
+      </informalexample>

  <!--
        <para>Notice that Subversion is tracing the history of your
@@ -732,34 +747,68 @@
          wurde. Sehen Sie nun, was passiert, wenn Sally den gleichen
          Befehl auf Ihre Arbeitskopie der Datei anwendet:</para>

-      <screen>
+<!--
+      <informalexample>
+        <screen>
  $ pwd
  /home/sally/calc

  $ svn log -v integer.c
-------------------------------------------------------------------------
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  r344 | sally | 2002-11-07 15:27:56 -0600 (Thu, 07 Nov 2002) | 2 lines
  Changed paths:
     M /calc/trunk/integer.c

  * integer.c:  fix a bunch of spelling errors.

-------------------------------------------------------------------------
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  r303 | sally | 2002-10-29 21:14:35 -0600 (Tue, 29 Oct 2002) | 2 lines
  Changed paths:
     M /calc/trunk/integer.c

  * integer.c:  changed a docstring.

-------------------------------------------------------------------------
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  r98 | sally | 2002-02-22 15:35:29 -0600 (Fri, 22 Feb 2002) | 2 lines
  Changed paths:
     A /calc/trunk/integer.c

  * integer.c:  adding this file to the project.

+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+</screen>
+      </informalexample>
+-->
+      <informalexample>
+        <screen>
+$ pwd
+/home/sally/calc
+
+$ svn log -v integer.c
+------------------------------------------------------------------------
+r344 | sally | 2002-11-07 15:27:56 -0600 (Thu, 07 Nov 2002) | 2 lines
+Changed paths:
+   M /calc/trunk/integer.c
+
+* integer.c:  Ein paar Rechtschreibfehler behoben.
+
+------------------------------------------------------------------------
+r303 | sally | 2002-10-29 21:14:35 -0600 (Tue, 29 Oct 2002) | 2 lines
+Changed paths:
+   M /calc/trunk/integer.c
+
+* integer.c:  Einen Docstring geändert.
+
+------------------------------------------------------------------------
+r98 | sally | 2002-02-22 15:35:29 -0600 (Fri, 22 Feb 2002) | 2 lines
+Changed paths:
+   A /calc/trunk/integer.c
+
+* integer.c:  Diese Datei dem Projekt hinzugefügt.
+
  ------------------------------------------------------------------------
  </screen>
+      </informalexample>

  <!--
        <para>Sally sees her own revision 344 change, but not the change
@@ -775,13 +824,13 @@
        <para>Sally sieht ihre eigene Änderung in Revision 344, aber
          nicht die Änderung, die Sie in Revision 343 gemacht haben. Was
          Subversion angeht, hatten diese beiden Übergaben Auswirkungen
-        auf unterschiedliche Dateien an unterschiedlichen
-        Projektarchiv-Orten. Dennoch zeigt Subversion
-        <emphasis>doch</emphasis>, 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>
+        auf unterschiedliche Dateien an unterschiedlichen Stellen im
+        Projektarchiv. <emphasis>Glwichwohl</emphasis> zeigt
+        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>

      </sect2>

@@ -856,8 +905,7 @@
  <!--
      <para>Now you and Sally are working on parallel branches of the
        project: you're working on a private branch, and Sally is
-      working on the <firstterm>trunk</firstterm>, or main line of
-      development.</para>
+      working on the trunk, or main line of development.</para>
  -->
      <para>Nun arbeiten Sie und Sally auf parallelen Zweigen des
        Projektes: Sie arbeiten auf einem privaten Zweig, und Sally
@@ -872,12 +920,12 @@
        private branch and commit changes there until all the work is
        complete.</para>
  -->
-    <para>Bei Projekten mit einer großen Zahl von Mitarbeitern haben
-      die meisten gewöhnlich Arbeitskopien vom Stamm. Sobald jemand
-      eine langwierige Änderung machen muss, die wahrscheinlich den
-      Stamm stören würde, ist die Standardvorgehensweise, einen Zweig
-      zu erzeugen und die Änderungen bis zum Abschluss der Arbeiten
-      nach dorthin zu übergeben.</para>
+    <para>Bei Projekten mit einer großen Zahl von Mitarbeitern
+      besitzen die meisten gewöhnlich Arbeitskopien vom Stamm. Sobald
+      jemand eine langwierige Änderung machen muss, die wahrscheinlich
+      den Stamm stören würde, ist es Standard, einen Zweig zu erzeugen
+      und die Änderungen bis zum Abschluss der Arbeiten nach dorthin
+      zu übergeben.</para>

  <!--
      <para>So, the good news is that you and Sally aren't interfering
@@ -892,8 +940,8 @@
        in die Quere kommen. Die schlechte Nachricht ist, dass es sehr
        leicht ist, <emphasis>zu</emphasis> weit auseinander zu treiben.
        Erinnern Sie sich, dass eins der Probleme bei der Strategie
-      <quote>sich in ein Loch zu verkriechen</quote> war, dass es zu
-      dem Zeitpunkt, an dem Sie mit dem Zweig fertig sind, fast
+      <quote>sich in ein Loch verkriechen</quote> darin bestand, dass
+      es zu dem Zeitpunkt, an dem Sie mit dem Zweig fertig sind, fast
        unmöglich sein kann, Ihre Änderungen ohne eine riesige Zahl an
        Konflikten auf den Stamm zurückzuführen.</para>

@@ -953,7 +1001,7 @@
        sicherzustellen, dass Ihr Client und Server mindestens die
        Version 1.5 haben.</para>

-  <!-- =============================================================== -->
+    <!-- ===============================================================  
-->
      <sect2 id="svn.branchmerge.changesets">
  <!--
        <title>Changesets</title>
@@ -1001,15 +1049,18 @@
          einem Namen, auf den Sie sich beziehen können.</para>

  <!--
-      <para>In Subversion, a global revision number N names a tree in
-        the repository: it's the way the repository looked after the
-        Nth commit.  It's also the name of an implicit changeset: if
-        you compare tree N with tree N−1, you can derive the exact
+      <para>In Subversion, a global revision
+        number <replaceable>N</replaceable> names a tree in the
+        repository: it's the way the repository looked after the
+        <replaceable>N</replaceable>th commit.  It's also the name of
+        an implicit changeset: if you compare
+        tree <replaceable>N</replaceable> with
+        tree <replaceable>N</replaceable>-1, you can derive the exact
          patch that was committed.  For this reason, it's easy to think
-        of revision N as not just a tree, but a changeset as well.  If
-        you use an issue tracker to manage bugs, you can use the
-        revision numbers to refer to particular patches that fix
-        bugs—for example,
+        of revision <replaceable>N</replaceable> as not just a tree,
+        but a changeset as well.  If you use an issue tracker to
+        manage bugs, you can use the revision numbers to refer to
+        particular patches that fix bugs—for example,
          <quote>this issue was fixed by r9238.</quote> Somebody
          can then run <userinput>svn log -r 9238</userinput> to read about
          the exact changeset that fixed the bug, and run
@@ -1018,36 +1069,40 @@
          Subversion's <command>svn merge</command> command is able to use
          revision numbers.  You can merge specific changesets from one
          branch to another by naming them in the merge
-        arguments: passing <userinput>-c 9238</userinput> to <command>svn  
merge</command> would merge
-        changeset r9238 into your working copy.</para>
+        arguments: passing <userinput>-c 9238</userinput>
+        to <command>svn merge</command> would merge changeset r9238
+        into your working copy.</para>
  -->
-      <para>In Subversion bezeichnet eine globale Revisionsnummer N
-        einen Baum im Projektarchiv: Sie beschreibt das Aussehen des
-        Projektarchivs nach der N-ten Übergabe. Sie ist auch der Name
-        einer impliziten Änderungsmenge: Wenn Sie den Baum N mit dem
-        Baum N−1 vergleichen, können Sie genau den Patch
-        ableiten, der übergeben wurde. Daher ist es einfach, sich
-        Revision N nicht nur als Baum sondern auch als Änderungsmenge
-        vorzustellen. Falls Sie ein Fehlerverwaltungssystem verwenden,
-        können Sie die Revisionsnummern benutzen, um auf bestimmte
-        Patches zu verweisen, die Fehler beheben – zum Beispiel:
+      <para>In Subversion bezeichnet eine globale Revisionsnummer
+        <replaceable>N</replaceable> einen Baum im Projektarchiv: Sie
+        beschreibt das Aussehen des Projektarchivs nach der
+        <replaceable>N</replaceable>-ten Übergabe. Sie ist auch der
+        Name einer impliziten Änderungsmenge: Wenn Sie den Baum
+        <replaceable>N</replaceable> mit dem Baum
+        <replaceable>N</replaceable>-1 vergleichen, können Sie genau
+        den Patch ableiten, der übergeben wurde. Daher ist es einfach,
+        sich Revision <replaceable>N</replaceable> nicht nur als Baum
+        sondern auch als Änderungsmenge vorzustellen. Falls Sie ein
+        Fehlerverwaltungssystem verwenden, können Sie die
+        Revisionsnummern benutzen, um auf bestimmte Patches zu
+        verweisen, die Fehler beheben – zum Beispiel:
          <quote>Dieser Fehler wurde durch r9238 behoben</quote>. Dann
          kann jemand <userinput>svn log -r 9238</userinput> aufrufen,
          um den Protokolleintrag zu genau der Änderungsmenge zu lesen,
          die den Fehler behoben hat, und sich mit <userinput>svn diff
-        -c 9238</userinput> den eigentlichen Patch ansehen.  Und auch
-        (wie Sie bald sehen werden) der Subversion Befehl <command>svn
-        merge</command> kann Revisionsnummern verwenden. Sie können
-        bestimmte Änderungsmengen von einem Zweig mit einem anderen
-        zusammenführen, indem sie in den Argumenten zum entsprechenden
-        Kommando benannt werden: Die Übergabe von <userinput>-c
-        9238</userinput> an <command>svn merge</command> würde das
-        Änderungsmenge r9238 mit Ihrer Arbeitskopie
+          -c 9238</userinput> den eigentlichen Patch ansehen.  Und
+        auch (wie Sie bald sehen werden) der Subversion Befehl
+        <command>svn merge</command> kann Revisionsnummern verwenden.
+        Sie können bestimmte Änderungsmengen von einem Zweig mit einem
+        anderen zusammenführen, indem sie in den Argumenten zum
+        entsprechenden Kommando benannt werden: Die Übergabe von
+        <userinput>-c 9238</userinput> an <command>svn merge</command>
+        würde das Änderungsmenge r9238 mit Ihrer Arbeitskopie
          zusammenführen.</para>

-      </sect2>
+    </sect2>

-  <!-- =============================================================== -->
+    <!-- ===============================================================  
-->
      <sect2 id="svn.branchemerge.basicmerging.stayinsync">
  <!--
        <title>Keeping a Branch in Sync</title>
@@ -1062,11 +1117,14 @@
          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.  In fact, this
-        is a best practice: frequently keeping your branch in sync
-        with the main development line helps
-        prevent <quote>surprise</quote> conflicts when it comes time
-        for you to fold your changes back into the trunk.</para>
+        to make sure they mesh well with your changes.</para>
+
+      <tip>
+        <para>Frequently keeping your branch in sync with the main
+          development line helps prevent <quote>surprise</quote>
+          conflicts when the time comes for you to fold your changes
+          back into the trunk.</para>
+      </tip>
  -->
        <para>Machen wir mit unserem Beispiel weiter und nehmen an, dass
          eine Woche vergangen ist seitdem Sie begonnen haben, auf
@@ -1076,12 +1134,14 @@
          <filename>/trunk</filename> des Projektes gemacht haben. Es
          ist in Ihrem Interesse, diese Änderungen in Ihren Zweig zu
          übernehmen, um sicherzustellen, dass sie sich gut mit Ihren
-        Änderungen vertragen. Dies ist tatsächlich eine der besten
-        Vorgehensweisen: Ihren Zweig regelmäßig mit der
-        Hauptentwicklungslinie zu synchronisieren hilft,
-        <quote>überraschende</quote> Konflikte zu vermeiden, wenn es
-        an der Zeit ist, Ihre Änderungen zurück auf den Stamm zu
-        bringen.</para>
+        Änderungen vertragen.</para>
+
+      <tip>
+        <para>Ihren Zweig regelmäßig mit der Hauptentwicklungslinie zu
+          synchronisieren hilft, <quote>überraschende</quote>
+          Konflikte zu vermeiden, wenn es an der Zeit ist, Ihre
+          Änderungen zurück auf den Stamm zu bringen.</para>
+      </tip>

  <!--
        <para>Subversion is aware of the history of your branch and
@@ -1102,52 +1162,71 @@
          folgenden Befehle auf:</para>

  <!--
-      <screen>
+      <informalexample>
+        <screen>
  $ pwd
  /home/user/my-calc-branch

-$ svn merge http://svn.example.com/repos/calc/trunk
+$ svn merge ^/calc/trunk
  - - - Merging r345 through r356 into '.':
  U    button.c
  U    integer.c
  </screen>
+      </informalexample>
  -->
-      <screen>
+      <informalexample>
+        <screen>
  $ pwd
  /home/user/my-calc-branch

-$ svn merge http://svn.example.com/repos/calc/trunk
+$ svn merge ^/calc/trunk
  --- Zusammenführen von r345 bis r356 in ».«:
  U    button.c
  U    integer.c
  </screen>
+      </informalexample>

  <!--
        <para>This basic syntax—<userinput>svn merge
-        <replaceable>URL</replaceable></userinput>—tells Subversion  
to merge all recent
-        changes from the URL to the current working directory (which
-        is typically the root of your working copy).  After running
-        the prior example, your branch working copy now contains new
-        local modifications, and these edits are duplications of all
-        of the changes that have happened on the trunk since you first
-        created your branch:</para>
+        <replaceable>URL</replaceable></userinput>—tells
+        Subversion to merge all recent changes from the URL to the
+        current working directory (which is typically the root of your
+        working copy).  Also notice that we're using the caret
+        (<literal>^</literal>) syntax<footnote><para>This was
+        introduced in svn 1.6.</para></footnote> to avoid having to
+        type out the entire <filename>/trunk</filename> URL.</para>
  -->
        <para>Diese einfache Syntax – <userinput>svn merge
          <replaceable>URL</replaceable></userinput> – fordert
          Subversion auf, alle neuen Änderungen von dem URL mit dem
          aktuellen Arbeitsverzeichnis (welches typischerweise das
          Wurzelverzeichnis Ihrer Arbeitskopie ist)
-        zusammenzuführen. Nach dem Ausführen des vorangegangenen
-        Beispiels enthält Ihre Arbeitskopie nun neue lokale
-        Änderungen, die Nachbildungen all der Änderungen auf dem Stamm
-        seit der Erstellung Ihres Zweiges sind:</para>
+        zusammenzuführen. Beachten Sie auch, dass wir die Syntax  mit
+        dem Zirkumflex (<literal>^</literal>)
+        verwenden<footnote><para>Diese wurde in svn 1.6
+        eingeführt,</para></footnote>, um nicht den vollständigen
+        <filename>/trunk</filename>-URL tippen zu müssen.</para>

-      <screen>
+<!--
+      <para>After running the prior example, your branch working copy
+        now contains new local modifications, and these edits are
+        duplications of all of the changes that have happened on the
+        trunk since you first created your branch:</para>
+-->
+      <para>Nach dem Ausführen des vorangegangenen Beispiels enthält
+        Ihre Arbeitskopie nun neue lokale Änderungen, die
+        Nachbildungen all der Änderungen auf dem Stamm seit der
+        Erstellung Ihres Zweiges sind:</para>
+
+      <informalexample>
+        <screen>
  $ svn status
- M     .
-M      button.c
-M      integer.c
+ M      .
+M       button.c
+M       integer.c
+$
  </screen>
+      </informalexample>

  <!--
        <para>At this point, the wise thing to do is look at the changes
@@ -1205,16 +1284,20 @@
          können Sie die Änderungen an das Projektarchiv übergeben:</para>

  <!--
-      <screen>
+      <informalexample>
+        <screen>
  $ svn commit -m "Merged latest trunk changes to my-calc-branch."
  Sending        .
  Sending        button.c
  Sending        integer.c
  Transmitting file data ..
  Committed revision 357.
+$
  </screen>
+      </informalexample>
  -->
-      <screen>
+      <informalexample>
+        <screen>
  $ svn commit -m "Die letzten Änderungen von trunk mit my-calc-branch  
zusammengeführt."
  Sende          .
  Sende          button.c
@@ -1222,6 +1305,7 @@
  Übertrage Daten ..
  Revision 357 übertragen.
  </screen>
+      </informalexample>

  <!--
        <para>At this point, your private branch is now <quote>in
@@ -1254,9 +1338,10 @@
            dieselbe Aufgabe nicht mit dem Betriebssystembefehl
            <command>patch</command> lösen? Zum Beispiel:</para>

-        <screen>
+        <informalexample>
+          <screen>
  $ cd my-calc-branch
-$ svn diff -r 341:HEAD http://svn.example.com/repos/calc/trunk >  
patchfile
+$ svn diff -r 341:HEAD ^/calc/trunk > patchfile
  $ patch -p0  < patchfile
  Patching file integer.c using Plan A...
  Hunk #1 succeeded at 147.
@@ -1264,7 +1349,9 @@
  Hunk #3 succeeded at 241.
  Hunk #4 succeeded at 249.
  done
+$
  </screen>
+        </informalexample>

  <!--
          <para>In this particular example, there really isn't much
@@ -1307,7 +1394,7 @@
            this command records the changes that have been duplicated
            to your branch so that Subversion is aware of exactly which
            changes exist in each location (see
-          <xref linkend="svn.branchmerge.basicmerging.mergeinfo"/>.)
+          <xref linkend="svn.branchmerge.basicmerging.mergeinfo"/>).
            This is a critical feature that makes branch management
            usable; without it, users would have to manually keep notes
            on which sets of changes have or haven't been merged
@@ -1345,21 +1432,27 @@
          <command>svn merge</command>-Befehl!</para>

  <!--
-      <screen>
-$ svn merge http://svn.example.com/repos/calc/trunk
+      <informalexample>
+        <screen>
+$ svn merge ^/calc/trunk
  - - - Merging r357 through r380 into '.':
  U    integer.c
  U    Makefile
  A    README
+$
  </screen>
+      </informalexample>
  -->
-      <screen>
-$ svn merge http://svn.example.com/repos/calc/trunk
+      <informalexample>
+        <screen>
+$ svn merge ^/calc/trunk
  --- Zusammenführen von r357 bis r380 in ».«:
  U    integer.c
  U    Makefile
  A    README
+$
  </screen>
+      </informalexample>

  <!--
        <para>Subversion knows which trunk changes you've already
@@ -1375,6 +1468,15 @@
          Ihren Zweig mit <command>svn commit</command>
          übergeben.</para>

+    </sect2>
+
+    <!-- ===============================================================  
-->
+    <sect2 id="svn.branchemerge.basicmerging.reintegrate">
+<!--
+      <title>Reintegrating a Branch</title>
+-->
+      <title>Reintegration eines Zweigs</title>
+
  <!--
        <para>What happens when you finally finish your work, though?
          Your new feature is done, and you're ready to merge your
@@ -1392,13 +1494,14 @@
          Sie es bisher gemacht haben:</para>

  <!--
-      <screen>
-$ svn merge http://svn.example.com/repos/calc/trunk
+      <informalexample>
+        <screen>
+$ svn merge ^/calc/trunk
  - - - Merging r381 through r385 into '.':
  U    button.c
  U    README

-$ # bauen, testen, ...
+$ # build, test, ...

  $ svn commit -m "Final merge of trunk changes to my-calc-branch."
  Sending        .
@@ -1407,9 +1510,11 @@
  Transmitting file data ..
  Committed revision 390.
  </screen>
+      </informalexample>
  -->
-      <screen>
-$ svn merge http://svn.example.com/repos/calc/trunk
+      <informalexample>
+        <screen>
+$ svn merge ^/calc/trunk
  --- Zusammenführen von r381 bis r385 in ».«:
  U    button.c
  U    README
@@ -1423,42 +1528,40 @@
  Übertrage Daten ..
  Revision 390 übertragen.
  </screen>
+      </informalexample>

  <!--
-      <para>Now, you use <command>svn merge</command> to replicate
-        your branch changes back into the trunk.  You'll need an
-        up-to-date working copy of <filename>/trunk</filename>.  You
-        can do this by either doing an <command>svn
-        checkout</command>, dredging up an old trunk working copy from
-        somewhere on your disk, or using <command>svn
-        switch</command> (see
-        <xref linkend="svn.branchmerge.switchwc"/>.) However you get a
-        trunk working copy, remember that it's a best practice to do
-        your merge into a working copy that
-        has <emphasis>no</emphasis> local edits and has been recently
-        updated (i.e., is not a mixture of local revisions).  If your
-        working copy isn't <quote>clean</quote> in these ways, you can
-        run into some unnecessary conflict-related headaches
-        and <command>svn merge</command> will likely return an
-        error.</para>
+      <para>Now, you use <command>svn merge</command> with the
+        <option>- -reintegrate</option> option to replicate your
+        branch changes back into the trunk.  You'll need a working
+        copy of <filename>/trunk</filename>.  You can do this by
+        either doing an <command>svn checkout</command>, dredging up
+        an old trunk working copy from somewhere on your disk, or
+        using <command>svn switch</command>
+        (see <xref linkend="svn.branchmerge.switchwc"/>).
+        Your trunk working copy cannot have any local edits or be at
+        mixed-revisions
+        (see <xref linkend="svn.basic.in-action.mixedrevs"/>).  While
+        these are typically best practices for merging, they are
+        <emphasis>required</emphasis> when using the
+        <option>- -reintegrate</option> option.</para>
  -->
-      <para>Nun verwenden Sie <command>svn merge</command>, um Ihre
+      <para>Nun verwenden Sie <command>svn merge</command> mit der
+        Option <option>--reintegrate</option> , um Ihre
          Änderungen vom Zweig zurück auf den Stamm zu überführen. Sie
-        benötigen eine aktuelle Arbeitskopie von
-        <filename>/trunk</filename>. Sie bekommen sie entweder durch
-        <command>svn checkout</command>, indem Sie von irgendwo auf
-        Ihrer Platte eine alte Arbeitskopie vom Stamm hervorholen,
-        oder den Befehl <command>svn switch</command> (siehe <xref
-        linkend="svn.branchmerge.switchwc"/>) verwenden. Wie auch
-        immer Sie Ihre Arbeitskopie bereitstellen, denken Sie daran,
-        dass Sie die Überführung in einer Arbeitskopie durchführen,
-        die <emphasis>keine</emphasis> lokalen Änderungen beinhaltet
-        und jüngst aktualisiert wurde (d.h., keine Mischung aus
-        lokalen Revisionen ist). Falls Ihre Arbeitskopie nicht
-        <quote>sauber</quote> in diesem Sinn ist, könnte es Ihnen
-        einige unnötige konfliktbezogene Kopfschmerzen bereiten, und
-        <command>svn merge</command> wird wahrscheinlich einen Fehler
-        ausgeben.</para>
+        benötigen eine Arbeitskopie von <filename>/trunk</filename>.
+        Sie bekommen sie entweder durch <command>svn
+        checkout</command>, indem Sie von irgendwo auf Ihrer Platte
+        eine alte Arbeitskopie vom Stamm hervorholen, oder den Befehl
+        <command>svn switch</command>
+        (siehe <xref linkend="svn.branchmerge.switchwc"/>) verwenden.
+        Ihre Arbeitskopie darf keine lokalen Änderungen beinhalten
+        oder aus gemischten Revisionen bestehen
+        (siehe <xref linkend="svn.basic.in-action.mixedrevs"/>).
+        Obwohl es sich dabei normalerweise um die bewährten
+        Vorgehensweisen beim Zusammenführen handelt, sind sie bei der
+        Verwendung der Option <option>--reintegrate</option> zwingend
+        notwendig.</para>

  <!--
        <para>Once you have a clean working copy of the trunk, you're
@@ -1468,21 +1571,22 @@
          sind Sie bereit, Ihren Zweig damit zusammenzuführen:</para>

  <!--
-      <screen>
+      <informalexample>
+        <screen>
  $ pwd
  /home/user/calc-trunk

-$ svn update  # (stellen Sie sicher, dass die Arbeitskopie aktuell ist)
+$ svn update  # (make sure the working copy is up to date)
  At revision 390.

-$ svn merge - -reintegrate  
http://svn.example.com/repos/calc/branches/my-calc-branch
+$ svn merge - -reintegrate ^/calc/branches/my-calc-branch
  - - - Merging differences between repository URLs into '.':
  U    button.c
  U    integer.c
  U    Makefile
   U   .

-$ # bauen, testen, überprüfen, ...
+$ # build, test, verify, ...

  $ svn commit -m "Merge my-calc-branch back into trunk!"
  Sending        .
@@ -1492,15 +1596,17 @@
  Transmitting file data ..
  Committed revision 391.
  </screen>
+      </informalexample>
  -->
-      <screen>
+      <informalexample>
+        <screen>
  $ pwd
  /home/user/calc-trunk

  $ svn update  # (stellen Sie sicher, dass die Arbeitskopie aktuell ist)
  Revision 390.

-$ svn merge --reintegrate  
http://svn.example.com/repos/calc/branches/my-calc-branch
+$ svn merge --reintegrate ^/calc/branches/my-calc-branch
  -- Zusammenführen der Unterschiede zwischen Projektarchiv-URLs in ».«:
  U    button.c
  U    integer.c
@@ -1509,7 +1615,7 @@

  $ # bauen, testen, überprüfen, ...

-$ svn commit -m "Merge my-calc-branch back into trunk!"
+$ svn commit -m "my-calc-branch mit Stamm zusammenführen!"
  Sende          .
  Sende          button.c
  Sende          integer.c
@@ -1517,6 +1623,7 @@
  Übertrage Daten ..
  Revision 391 übertragen.
  </screen>
+      </informalexample>

  <!--
        <para>Congratulations, your branch has now been remerged back
@@ -1559,7 +1666,7 @@
  <!--
        <para>When merging your branch back to the trunk, however, the
          underlying mathematics is quite different.  Your feature
-        branch is now a mishmosh of both duplicated trunk changes and
+        branch is now a mishmash of both duplicated trunk changes and
          private branch changes, so there's no simple contiguous range
***The diff for this file has been truncated for email.***


More information about the svnbook-dev mailing list