[svnbook commit] r3356 - trunk/src/de/book
jmfelderhoff
noreply at red-bean.com
Mon Dec 1 15:03:25 CST 2008
Author: jmfelderhoff
Date: Mon Dec 1 15:03:25 2008
New Revision: 3356
Log:
* trunk/src/de/book/ch04-branching-and-merging.xml
- Ticket #162 (cf. http://www.svnbook.de/report/6).
Modified:
trunk/src/de/book/ch04-branching-and-merging.xml
Modified: trunk/src/de/book/ch04-branching-and-merging.xml
==============================================================================
--- trunk/src/de/book/ch04-branching-and-merging.xml (original)
+++ trunk/src/de/book/ch04-branching-and-merging.xml Mon Dec 1 15:03:25 2008
@@ -3386,15 +3386,27 @@
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect2 id="svn.branchmerge.advanced.ancestry">
+<!--
<title>Noticing or Ignoring Ancestry</title>
+-->
+ <title>Die Abstammung berücksichtigen oder ignorieren</title>
+<!--
<para>When conversing with a Subversion developer, you might
very likely hear reference to the term
<firstterm>ancestry</firstterm>. This word is used to
describe the relationship between two objects in a
repository: if they're related to each other, one
object is said to be an ancestor of the other.</para>
+-->
+ <para>Wenn Sie sich mit einem Subversion-Entwickler unterhalten,
+ wird wahrscheinlich auch der Begriff
+ <firstterm>Abstammung</firstterm> erwähnt. Dieses Wort wird
+ verwendet, um die Beziehung zwischen zwei Objekten im
+ Repository zu beschreiben: Wenn sie in Beziehung zueinander
+ stehen, heißt es, dass ein Objekt vom anderen abstammt.</para>
+<!--
<para>For example, suppose you commit revision 100, which
includes a change to a file <filename>foo.c</filename>.
Then <filename>foo.c at 99</filename> is an
@@ -3407,7 +3419,22 @@
(they have the same path), but in fact are completely
different objects in the repository. They share no history
or <quote>ancestry.</quote></para>
+-->
+ <para>Nehmen wir an, Sie übergeben Revision 100, die eine
+ Änderung an der Datei <filename>foo.c</filename> beinhaltet.
+ Dann ist <filename>foo.c at 99</filename> ein
+ <quote>Vorfahre</quote> von <filename>foo.c at 100</filename>.
+ Wenn Sie dagegen in Revision 101 die Löschung von
+ <filename>foo.c</filename> übergeben und in Revision 102 eine
+ neue Datei mit demselben Namen hinzufügen, hat es zwar den
+ Anschein, dass <filename>foo.c at 99</filename> und
+ <filename>foo.c at 102</filename> in Beziehung zueinander stehen
+ (sie haben denselben Pfad), es handelt sich allerdings um
+ völlig unterschiedliche Objekte im Repository. Sie haben weder
+ eine gemeinsame Geschichte noch
+ <quote>Abstammung</quote>.</para>
+<!--
<para>The reason for bringing this up is to point out an
important difference between <command>svn diff</command> and
<command>svn merge</command>. The former command ignores
@@ -3420,12 +3447,27 @@
it would notice that they're unrelated and first attempt to
delete the old file, then add the new file; the output would
indicate a deletion followed by an add:</para>
+-->
+ <para>Wir erwähnen das, um auf einen wichtigen Unterschied
+ zwischen den Befehlen <command>svn diff</command> und
+ <command>svn merge</command> hinzuweisen. Der erstere Befehl
+ ignoriert die Abstammung, wohingegen letzterer diese beachtet.
+ Wenn Sie beispielsweise mit <command>svn diff</command> die
+ Revisionen 99 und 102 von <filename>foo.c</filename>
+ vergleichen, werden Sie zeilenbasierte Unterschiede sehen; der
+ Befehl <command>diff</command> vergleicht blind zwei Pfade.
+ Wenn Sie aber dieselben Objekte mit <command>svn
+ merge</command> vergleichen, wird es feststellen, dass sie
+ nicht in Beziehung stehen und versuchen, die alte Datei zu
+ löschen und dann die neue hinzuzufügen; die Ausgabe wird eine
+ Löschung gefolgt von einer Hinzufügung anzeigen:</para>
<screen>
D foo.c
A foo.c
</screen>
+<!--
<para>Most merges involve comparing trees that are ancestrally
related to one another; therefore, <command>svn
merge</command> defaults to this behavior. Occasionally,
@@ -3439,12 +3481,35 @@
of the entire second tree! In these situations, you'll want
<command>svn merge</command> to do a path-based comparison
only, ignoring any relations between files and directories.
- Add the <option>--ignore-ancestry</option> option to your
+ Add the <option>- -ignore-ancestry</option> option to your
<command>merge</command> command, and it will behave just
like <command>svn diff</command>. (And conversely, the
- <option>--notice-ancestry</option> option will cause
+ <option>- -notice-ancestry</option> option will cause
<command>svn diff</command> to behave like the
<command>svn merge</command> command.)</para>
+-->
+ <para>Die meisten Zusammenführungen vergleichen Bäume, die von
+ der Abstammung her miteinander in Beziehung stehen, deshalb
+ verhält sich <command>svn merge</command> auf diese Weise.
+ Gelegentlich möchten Sie jedoch mit dem
+ <command>merge</command>-Befehl zwei Bäume vergleichen, die
+ nicht miteinander in Beziehung stehen. Es kann z.B. sein, dass
+ Sie zwei Quelltext-Bäume importiert haben, die unterschiedliche
+ Lieferantenstände eines Software-Projektes repräsentieren
+ (siehe <xref linkend="svn.advanced.vendorbr"/>). Falls Sie
+ <command>svn merge</command> dazu aufforderten, die beiden Bäume
+ miteinander zu vergleichen, würden Sie sehen, dass der
+ vollständige erste Baum gelöscht und anschliessend der
+ vollständige zweite Baum hinzugefügt würde! In diesen
+ Situationen möchten Sie, dass <command>svn merge</command>
+ lediglich einen pfadbasierten Vergleich vornimmt und
+ Beziehungen zwischen Dateien und Verzeichnissen ausser Acht
+ lässt. Fügen Sie die Option <option>--ignore-ancestry</option>
+ dem <command>merge</command>-Befehl hinzu, und er wird sich
+ verhalten wie <command>svn diff</command>. (Auf der anderen
+ Seite wird die Option <option>--notice-ancestry</option> den
+ Befehl <command>svn diff</command> dazu veranlassen, sich wie
+ <command>svn merge</command> zu verhalten.</para>
</sect2>
More information about the svnbook-dev
mailing list