[svnbook] r4760 committed - Translation: More on Merge Conflicts
svnbook at googlecode.com
svnbook at googlecode.com
Sun Apr 27 06:35:13 CDT 2014
Revision: 4760
Author: jmfelderhoff at gmx.eu
Date: Sun Apr 27 11:35:03 2014 UTC
Log: Translation: More on Merge Conflicts
http://code.google.com/p/svnbook/source/detail?r=4760
Modified:
/branches/1.7/de/book/ch04-branching-and-merging.xml
=======================================
--- /branches/1.7/de/book/ch04-branching-and-merging.xml Sun Apr 27
10:12:58 2014 UTC
+++ /branches/1.7/de/book/ch04-branching-and-merging.xml Sun Apr 27
11:35:03 2014 UTC
@@ -4262,7 +4262,7 @@
<!--
<para>To begin with, assume that your working copy has no
local edits. When you <command>svn update</command> to a
- particular revision, the changes sent by the server will
+ particular revision, the changes sent by the server
always apply <quote>cleanly</quote> to your working copy.
The server produces the delta by comparing two trees: a
virtual snapshot of your working copy, and the revision tree
@@ -4273,7 +4273,7 @@
-->
<para>Zunächst gehen wir davon aus, dass Ihre Arbeitskopie keine
lokalen Änderungen enthält. Wenn Sie mit <command>svn
- update</command> auf eine bestimmte Revision aktualisieren,
+ update</command> auf eine bestimmte Revision aktualisieren,
werden die vom Server gesendeten Änderungen immer
<quote>sauber</quote> auf Ihre Arbeitskopie angewendet. Der
Server erzeugt das Delta, indem er zwei Bäume vergleicht: eine
@@ -4290,13 +4290,10 @@
even ones that are unrelated to the working copy! This means
there's large potential for human error. Users will sometimes
compare the wrong two trees, creating a delta that doesn't
- apply cleanly. <command>svn merge</command> will do its best
- to apply as much of the delta as possible, but some parts may
- be impossible. Just as the Unix
- <command>patch</command> command sometimes complains about
- <quote>failed hunks,</quote> <command>svn merge</command> will
- similarly complain about <quote>skipped
- targets</quote>:</para>
+ apply cleanly. The <command>svn merge</command> subcommand does
+ its best to apply as much of the delta as possible, but some
+ parts may be impossible. A common sign that you merged the wrong
+ delta is unexpected tree conflicts:</para>
-->
<para><command>svn merge</command> jedoch kann das nicht
gewährleisten und kann viel chaotischer sein: Der
@@ -4306,100 +4303,150 @@
Beziehung stehen! Das bedeutet, dass ein hohes Potenzial für
menschliche Fehler besteht. Benutzer werden manchmal die
falschen zwei Bäume miteinander vergleichen, so dass ein Delta
- erzeugt wird, das sich nicht sauber anwenden lässt.
- <command>svn merge</command> wird sein Bestes geben, um soviel
- wie möglich vom Delta anzuwenden, doch bei einigen Teilen kann
- das unmöglich sein. So wie der Unix-Befehl
- <command>patch</command> sich manchmal über <quote>failed
- hunks</quote> beschwert, wird sich <command>svn
- merge</command> ähnlich über <quote>skipped
- targets</quote> beschweren:</para>
+ erzeugt wird, das sich nicht sauber anwenden lässt. Der
+ Unterbefehl <command>svn merge</command> gibt sein Bestes,
+ um soviel wie möglich vom Delta anzuwenden, doch bei einigen
+ Teilen kann das unmöglich sein. Ein häufiges Anzeichen, dass
+ Sie die falschen Unterschiede eingepflegt haben, sind
+ unerwartete Baumkonflikte:</para>
-<!--
<informalexample>
<screen>
$ svn merge -r 1288:1351 http://svn.example.com/myrepos/branch
-U foo.c
-U bar.c
-Skipped missing target: 'baz.c'
-U glub.c
-U sputter.h
-
-Conflict discovered in 'glorb.h'.
-Select: (p) postpone, (df) diff-full, (e) edit,
- (mc) mine-conflict, (tc) theirs-conflict,
- (s) show all options:
-</screen>
- </informalexample>
+<!--
+- - - Merging r1289 through r1351 into '.':
-->
- <informalexample>
- <screen>
-$ svn merge -r 1288:1351 http://svn.example.com/myrepos/branch
-U foo.c
-U bar.c
-Fehlendes Ziel: »baz.c« übersprungen.
-U glub.c
-U sputter.h
+-- Zusammenführen von r1289 bis r1361 in ».«:
+ C bar.c
+ C foo.c
+ C docs
+<!--
+- - - Recording mergeinfo for merge of r1289 through r1351 into '.':
+-->
+-- Aufzeichnung der Informationen für Zusammenführung von r1289 bis r1351
in ».«:
+ U .
+<!--
+Summary of conflicts:
+ Tree conflicts: 3
+-->
+Konfliktübersicht:
+ Baumkonflikte: 3
-Konflikt in »glorb.h« entdeckt.
-Auswahl: (p) zurückstellen, (df) voller Diff, (e) editieren,
- (mc) eigene konfliktbehaftete Datei, (tc) fremde
konfliktbehaftete Datei
- (s) alle Optionen anzeigen:
+$ svn st
+! C bar.c
+<!--
+ > local missing, incoming edit upon merge
+-->
+ > lokal fehlend, eingehend editiert bei Zusammenführung
+! C foo.c
+<!--
+ > local missing, incoming edit upon merge
+-->
+ > lokal fehlend, eingehend editiert bei Zusammenführung
+! C docs
+<!--
+ > local delete, incoming edit upon merge
+-->
+ > lokal fehlend, eingehend editiert bei Zusammenführung
</screen>
</informalexample>
<!--
<para>In the previous example, it might be the case that
- <filename>baz.c</filename> exists in both snapshots of the
- branch being compared, and the resultant delta wants to
- change the file's contents, but the file doesn't exist in
- the working copy. Whatever the case, the
- <quote>skipped</quote> message means that the user is most
- likely comparing the wrong two trees; it's the classic
+ <filename>bar.c</filename>, <filename>foo.c</filename>, and
+ <filename>docs</filename> all exist in both snapshots of the
+ branch being compared. The resultant delta wants to change
+ the contents of the corresponding paths in your working copy,
+ but those paths don't exist in the working copy. Whatever the
+ case, the preponderance of tree conflicts most likely means that
+ the user compared the wrong two trees; it's a classic
sign of user error. When this happens, it's easy to
recursively revert all the changes created by the merge
(<userinput>svn revert . - -recursive</userinput>), delete any
unversioned files or directories left behind after the
- revert, and rerun <command>svn merge</command> with
- different arguments.</para>
+ revert, and rerun <command>svn merge</command> with the
+ correct arguments.</para>
-->
<para>Im vorangegangenen Beispiel kann es der Fall gewesen sein,
- dass <filename>baz.c</filename> in beiden Momentaufnahmen des
- Zweiges vorkommt, die verglichen werden, und das resultierende
- Delta den Inhalt der Datei verändern will, die in der
- Arbeitskopie aber nicht vorhanden ist. Wie auch immer, die
- <quote>skipped</quote>-Nachricht bedeutet, dass der Benutzer
- höchstwahrscheinlich die falschen Bäume miteinander
- vergleicht; es ist das klassische Zeichen für einen
+ dass <filename>bar.c</filename>, <filename>foo.c</filename> und
+ <filename>docs</filename> alle in beiden Momentaufnahmen des
+ Zweiges vorkommen, die verglichen werden. Das resultierende
+ Delta will den Inhalt der entsprechenden Pfade in Ihrer
+ Arbeitskopie verändern, doch sind diese Pfade in der
+ Arbeitskopie aber nicht vorhanden. Wie auch immer, das
+ Überwiegen von Baumkonflikten bedeutet höchstwahrscheinlich,
+ dass der Benutzer die falschen Bäume miteinander
+ verglichen hat; es ist das klassische Zeichen für einen
Anwenderfehler. Falls dies passiert, ist es einfach, alle
durch das Zusammenführen hervorgerufenen Änderungen rekursiv
rückgängig zu machen (<userinput>svn revert .
- --recursive</userinput>), alle unversionierten Dateien oder
+ --recursive</userinput>), alle unversionierten Dateien oder
Verzeichnisse zu löschen, die nach dem Rückgängigmachen
- zurückgeblieben sind, und <command>svn merge</command> noch
+ zurückgeblieben sind und <command>svn merge</command> noch
einmal mit unterschiedlichen Argumenten aufzurufen.</para>
<!--
- <para>Also notice that the preceding example shows a conflict
- happening on <filename>glorb.h</filename>. We already
- stated that the working copy has no local edits: how can a
- conflict possibly happen? Again, because the user can use
- <command>svn merge</command> to define and apply any old
- delta to the working copy, that delta may contain textual
+ <para>Also keep in mind that a merge into a working copy with no
+ local edits can still produce text conflicts.</para>
+-->
+ <para>Beachten Sie ebenfalls, dass eine Zusammenführung in eine
+ Arbeitskopie ohne lokale Änderungen trotzdem Textkonflikte
+ erzeugen kann.</para>
+
+ <informalexample>
+ <screen>
+$ svn merge -c 1701 http://svn.example.com/myrepos/branchX --accept
postpone
+<!--
+- - - Merging r1701 into '.':
+-->
+-- Zusammenführen von r1701 in ».«:
+C glub.c
+C sputter.c
+<!--
+- - - Recording mergeinfo for merge of r1701 into '.':
+-->
+-- Aufzeichnung der Informationen für Zusammenführung von r1701 in ».«:
+ U .
+<!--
+Summary of conflicts:
+ Text conflicts: 2
+-->
+Konfliktübersicht:
+ Textkonflikte: 2
+
+C:\SVN\src-branch-1.7.x>svn st
+ M .
+? glub.c.merge-left.r1700
+? glub.c.merge-right.r1701
+C glub.c
+? glub.c.working
+? sputter.c.merge-left.r1700
+? sputter.c.merge-right.r1701
+C sputter.c
+? sputter.c.working
+<!--
+Summary of conflicts:
+ Text conflicts: 2
+-->
+Konfliktübersicht:
+ Textkonflikte: 2
+</screen>
+ </informalexample>
+
+<!--
+ <para>How can a conflict possibly happen? Again, because the user
+ can request <command>svn merge</command> to define and apply any
+ old delta to the working copy, that delta may contain textual
changes that don't cleanly apply to a working file, even if
the file has no local modifications.</para>
-->
- <para>Beachten Sie auch, dass das vorangegangene Beispiel einen
- Konflikt in <filename>glorb.h</filename> anzeigt. Wir
- bemerkten bereits, dass die Arbeitskopie keine lokalen
- Änderungen besitzt: Wie kann da ein Konflikt entstehen? Noch
- einmal: Weil der Benutzer <command>svn merge</command> dazu
- verwenden kann, ein altes Delta zu definieren und auf die
- Arbeitskopie anzuwenden, kann es sein, dass dieses alte Delta
- textuelle Änderungen enthält, die nicht sauber in eine
- Arbeitsdatei eingearbeitet werden können, selbst dann nicht,
- wenn die Datei keine lokalen Änderungen vorzuweisen
- hat.</para>
+ <para>Wie kann da ein Konflikt entstehen? Noch einmal: Weil der
+ Benutzer <command>svn merge</command> dazu auffordern kann,
+ ein altes Delta zu definieren und auf die Arbeitskopie
+ anzuwenden, kann es sein, dass dieses alte Delta textuelle
+ Änderungen enthält, die nicht sauber in eine Arbeitsdatei
+ eingearbeitet werden können, selbst dann nicht, wenn die Datei
+ keine lokalen Änderungen vorzuweisen hat.</para>
<!--
<para>Another small difference between <command>svn
@@ -4412,14 +4459,15 @@
<filename>filename.rNEWREV</filename>. When <command>svn
merge</command> produces a conflict, though, it creates three
files named <filename>filename.working</filename>,
- <filename>filename.left</filename>, and
- <filename>filename.right</filename>. In this case, the
- terms <quote>left</quote> and <quote>right</quote> are
- describing which side of the double-tree comparison the file
- came from. In any case, these differing names will help you
- distinguish between conflicts that happened as a result of an
- update and ones that happened as a result of a
- merge.</para>
+ <filename>filename.merge-left.rOLDREV</filename>, and
+ <filename>filename.merge-right.rNEWREV</filename>. In this case,
+ the terms <quote>merge-left</quote> and <quote>merge-right</quote>
+ are describing which side of the double-tree comparison the file
+ came from, <quote>rOLDREV</quote> describes the revision of the
+ left side, and <quote>rNEWREV</quote> the revision of the right
+ side. In any case, these differing names help you distinguish
+ between conflicts that happened as a result of an update and
+ ones that happened as a result of a merge.</para>
-->
<para>Ein weiterer kleiner Unterschied zwischen <command>svn
update</command> und <command>svn merge</command> sind die
@@ -4432,15 +4480,17 @@
<command>svn merge</command> einen Konflikt hervorruft,
erstellt es jedoch drei Dateien namens
<filename>filename.working</filename>,
- <filename>filename.left</filename> und
- <filename>filename.right</filename>. In diesem Fall
- beschreiben die Begriffe <quote>left</quote> (links) und
- <quote>right</quote> (rechts) von welcher Seite des Vergleichs
- zwischen den beiden Bäumen die Datei hergeleitet wurde. Auf
- alle Fälle werden Ihnen diese unterschiedlichen Namen dabei
- helfen, zwischen Konflikten zu unterscheiden, die durch eine
- Aktualisierung entstanden, und solchen die durch eine
- Zusammenführung hervorgerufen wurden .</para>
+ <filename>filename.merge-left.rOLDREV</filename> und
+ <filename>filename.merge-right.rNEWREV</filename>. In diesem
+ Fall beschreiben die Begriffe <quote>merge-left</quote> und
+ <quote>merge-right</quote> von welcher Seite des Vergleichs
+ zwischen den beiden Bäumen die Datei hergeleitet wurde,
+ <quote>rOLDREV</quote> beschreibt die Revision auf der linken
+ Seite und <quote>rNEWREV</quote> die Revision auf der rechten
+ Seite. Auf alle Fälle werden Ihnen diese unterschiedlichen
+ Namen dabei helfen, zwischen Konflikten zu unterscheiden, die
+ durch eine Aktualisierung entstanden, und solchen die durch
+ eine Zusammenführung hervorgerufen wurden .</para>
</sect2>
More information about the svnbook-dev
mailing list