[svnbook] r4628 committed - Translation: Using External Differencing and Merge Tools (intro)
svnbook at googlecode.com
svnbook at googlecode.com
Thu Jan 16 16:53:32 CST 2014
Revision: 4628
Author: jmfelderhoff at gmx.eu
Date: Thu Jan 16 21:47:06 2014 UTC
Log: Translation: Using External Differencing and Merge Tools (intro)
http://code.google.com/p/svnbook/source/detail?r=4628
Modified:
/branches/1.6/de/book/ch07-customizing-svn.xml
=======================================
--- /branches/1.6/de/book/ch07-customizing-svn.xml Thu Jan 16 20:44:02 2014
UTC
+++ /branches/1.6/de/book/ch07-customizing-svn.xml Thu Jan 16 21:47:06 2014
UTC
@@ -1985,23 +1985,18 @@
Fehlermeldung bezüglich der Zeichensatzumwandlung
stolpern:</para>
-<!--
<informalexample>
<screen>
+<!--
svn: Can't convert string from native encoding to 'UTF-8':
…
svn: Can't convert string from 'UTF-8' to native encoding:
…
-</screen>
- </informalexample>
-->
- <informalexample>
- <screen>
svn: Kann Zeichenkette nicht von der eigenen Codierung nach »UTF-8«
konvertieren:
…
svn: Kann Zeichenkette nicht von »UTF-8« in die eigene Codierung
konvertieren:
…
-<!-- is this visible? -->
</screen>
</informalexample>
@@ -2361,46 +2356,91 @@
</note>
<!--
- <para>Subversion 1.5 introduces interactive resolution of
- conflicts (described in <xref linkend="svn.tour.cycle.resolve"
- />), and one of the options provided to users is the ability to
- launch a third-party merge tool. If this action is taken,
- Subversion will consult the <literal>merge-tool-cmd</literal>
- runtime configuration option to find the name of an external
- merge tool and, upon finding one, will launch that tool with the
- appropriate input files. This differs from the configurable
- three-way differencing tool in a couple of ways. First, the
- differencing tool is always used to handle three-way
- differences, whereas the merge tool is employed only when
- three-way difference application has detected a conflict.
- Second, the interface is much cleaner—your configured
- merge tool need only accept as command-line parameters four path
- specifications: the base file, the <quote>theirs</quote> file
- (which contains upstream changes), the <quote>mine</quote> file
- (which contains local modifications), and the path of the file
- where the final resolved contents should be stored.</para>
+ <para>Much later, Subversion 1.5 introduced interactive resolution
+ of conflicts (described in
+ <xref linkend="svn.tour.cycle.resolve" />). One of the options
+ that this feature provides to users is the ability to
+ interactively launch a third-party merge tool. If this action
+ is taken, Subversion will check to see if the user has specified
+ such a tool for use in this way. Subversion will first check
+ the <literal>SVN_MERGE</literal> environment variable for the
+ name of an external merge tool. If that variable is not set, it
+ will look for the same information in the value of
+ the <literal>merge-tool-cmd</literal> runtime configuration
+ option. Upon finding a configured external merge tool, it will
+ invoke that tool.</para>
-->
- <para>Subversion 1.5 führt die interaktive Auflösung von
- Konflikten ein (in <xref linkend="svn.tour.cycle.resolve" />
- beschrieben), und eine den Benutzern angebotene Option ist die
- Fähigkeit, ein Zusammenführungsprogramm eines Drittanbieters zu
- starten. Wenn dieses Vorgehen gewählt wird, ermittelt Subversion
- über die Laufzeitoption <literal>merge-tool-cmd</literal> den
- Namen eines externen Zusammenführungsprogramms und startet dies
- mit den entsprechenden Eingabedateien, sofern es gefunden wird.
- Dies ist in vielerlei Hinsicht ein Unterschied zum
- konfigurierbaren Dreiwege-Vergleichsprogramm. Erstens wird das
- Vergleichsprogramm stets verwendet, um Dreiwege-Vergleiche
- vorzunehmen, wohingegen das Zusammenführungsprogramm nur dann
- angewendet wird, falls das Dreiwege-Vergleichsprogramm einen
- Konflikt entdeckt hat. Zweitens ist die Schnittstelle sehr viel
- sauberer – Ihr konfiguriertes Zusammenführungsprogramm
- braucht nur vier Pfadangaben als Kommandozeilenparameter zu
- akzeptieren: die Basisdatei, die <quote>fremde</quote> Datei
- (die die Änderungen aus dem Projektarchiv enthält), die
- <quote>eigene</quote> Datei (die lokale Änderungen enthält) und
- den Pfad der Datei, in der der endgültige Inhalt nach
- Konfliktauflösung gespeichert werden soll.</para>
+ <para>Viel später hat Subversion 1.5 die interaktive Auflösung von
+ Konflikten eingeführt (beschrieben in
+ <xref linkend="svn.tour.cycle.resolve" />). Eine den Benutzern
+ durch diese Funktionalität angebotene Option ist die
+ Fähigkeit, interaktiv ein Zusammenführungsprogramm eines
+ Drittanbieters starten zu können. Wenn dieses Vorgehen gewählt
+ wird, prüft Subversion, ob der Anwender ein solches Werkzeug für
+ diesen Einsatzzweck bestimmt hat. Subversion prüft zunächst die
+ Umgebungsvariable <literal>SVN_MERGE</literal> auf den Namen
+ eines externen Zusammenführungswerkzeugs. Sollte diese Variable
+ nicht gesetzt sein, wird im Wert der Laufzeitoption
+ <literal>merge-tool-cmd</literal> nach derselben Information
+ gesucht. Wird das eingestellte externe Zusammenführungsprogramm
+ gefunden, wird es gestartet.</para>
+
+ <note>
+<!--
+ <para>While the general purposes of the three-way differencing
+ and merge tools are roughly the same (finding a way to make
+ separate-but-overlapping file changes live in harmony),
+ Subversion exercises each of these options at different times
+ and for different reasons. The internal three-way
+ differencing engine and its optional external replacement are
+ used when interaction with the user
+ is <emphasis>not</emphasis> expected. In fact, significant
+ delay introduced by such a tool can actually result in the
+ failure of some time-sensitive Subversion operations. It's
+ the external merge tool that is intended to be invoked
+ interactively.</para>
+-->
+ <para>Während der allgemeine Zweck des Dreiwege-Vergleichs- und
+ des Zusammenführungsprogramms weitestgehend derselbe ist
+ (einen Weg zu finden, um getrennte, sich jedoch überlappende,
+ Dateiänderungen zu harmonisieren), führt Subversion jede
+ dieser Optionen zu unterschiedlichen Zeitpunkten aus
+ unterschiedlichen Gründen aus. Die internr
+ Dreiwege-Vergleichsmaschine und ihr optionaler externer Ersatz
+ werden verwendet, wenn die Zusammenarbeit mit dem Anwender
+ <emphasis>nicht</emphasis> erwartet wird. Tatsächlich kann
+ eine durch ein solches Werkzeug herbeigeführte spürbare
+ Verzögerung letztendllich zum Fehlschlagen einer
+ zeitkritischen Subversion-Operation führen. Für den
+ interaktiven Aufruf ist das externe Zusammenführungsprogramm
+ vorgesehen.</para>
+ </note>
+
+<!--
+ <para>Now, while the interface between Subversion and an external
+ merge tool is significantly less convoluted than that between
+ Subversion and the diff and diff3 tools, the likelihood of
+ finding such a tool whose calling conventions exactly match what
+ Subversion expects is still quite low. The key to using
+ external differencing and merge tools with Subversion is to use
+ wrapper scripts, which convert the input from Subversion into
+ something that your specific differencing tool can understand,
+ and then convert the output of your tool back into a format that
+ Subversion expects. The following sections cover the specifics
+ of those expectations.</para>
+-->
+ <para>Obwohl die Schnittstelle zwischen Subversion und einem
+ externen Zusammenführungsprogramm wesentlich gradliniger ist als
+ die zwischen Subversion und den diff und diff3 Werkzeugen, ist
+ die Wahrscheinlichkeit doch ziemlich gering, ein solches Tool zu
+ finden, dessen Aufrufkonventionen exakt den Erwartungen von
+ Subversion entspricht. Der Schlüssel in der Benutzung externer
+ Vergleichs- und Zusammenführungswerkzeuge liegt in der
+ Verwendung von Wrapper-Skripten, die die Eingabe von Subversion
+ in irgendetwas umwandeln, das Ihr besonderes Vergleichsprogramm
+ versteht, und dann die Ausgabe ihres Programms in ein Format
+ zurück überführt, das Subversion erwartet. Die folgenden
+ Abschnitte behandeln die Details solcher Erwartungen.</para>
<!-- ===============================================================
-->
<sect2 id="svn.advanced.externaldifftools.diff">
More information about the svnbook-dev
mailing list