[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