[svnbook commit] r3490 - * trunk/src/de/book/ch07-customizing-svn.xml

codesite-noreply at google.com codesite-noreply at google.com
Fri Apr 17 15:34:22 CDT 2009


Author: jmfelderhoff at gmx.eu
Date: Fri Apr 17 12:50:24 2009
New Revision: 3490

Modified:
    trunk/src/de/book/ch07-customizing-svn.xml

Log:
* trunk/src/de/book/ch07-customizing-svn.xml
   - Fixes ticket #241 (cf. http://www.svnbook.de/report/6).


Modified: trunk/src/de/book/ch07-customizing-svn.xml
==============================================================================
--- trunk/src/de/book/ch07-customizing-svn.xml	(original)
+++ trunk/src/de/book/ch07-customizing-svn.xml	Fri Apr 17 12:50:24 2009
@@ -2000,8 +2000,12 @@
    <!-- =================================================================  
-->
    <!-- =================================================================  
-->
    <sect1 id="svn.advanced.externaldifftools">
+<!--
      <title>Using External Differencing and Merge Tools</title>
+-->
+    <title>Verwenden externer Vergleichs- und  
Zusammenführungsprogramme</title>

+<!--
      <para>The interface between Subversion and external two- and three-way
        differencing tools harkens back to a time when Subversion's only
        contextual differencing capabilities were built around
@@ -2011,8 +2015,8 @@
        utilities with more than a handful of options and parameters,
        most of which were quite specific to the utilities.  Some time
        later, Subversion grew its own internal differencing library,
-      and as a failover mechanism, the <option>--diff-cmd</option> and
-      <option>--diff3-cmd</option> options were added to the
+      and as a failover mechanism, the <option>- -diff-cmd</option> and
+      <option>- -diff3-cmd</option> options were added to the
        Subversion command-line client so that users could more easily
        indicate that they preferred to use the GNU diff and diff3
        utilities instead of the newfangled internal diff library.  If
@@ -2020,7 +2024,29 @@
        internal diff library, and fall back to running those external
        programs, lengthy argument lists and all.  And that's where
        things remain today.</para>
+-->
+    <para>Die Schnittstelle zwischen Subversion und externen Zwei- und
+      Dreiwege-Vergleichsprogrammen geht zurück bis in eine Zeit, als
+      sich die kontextabhängigen Vergleichsfähigkeiten von Subversion
+      allein auf Aufrufe der GNU-diffutils-Werkzeuge stützten,
+      insbesonders <command>diff</command> und
+      <command>diff3</command>. Um das von Subversion benötigte
+      Verhalten zu bekommen, wurden diese Werkzeuge mit mehr als einer
+      handvoll Optionen und Parametern aufgerufen, von denen die
+      meisten sehr werkzeugspezifisch waren. Einige Zeit später
+      entwickelte Subversion seine eigene interne
+      Vergleichsbibliothek, und als Ausfallsicherung wurden dem
+      Subversion-Kommandozeilen-Client die Optionen
+      <option>--diff-cmd</option> und <option>--diff3-cmd</option>
+      hinzugefügt, so dass Benutzer auf einfache Art mitteilen
+      konnten, dass sie die GNU-Werkzeuge diff and diff3 gegenüber der
+      neumodischen internen Vergleichsbibliothek bevorzugen. Wenn
+      diese Optionen verwendet wurden, ignorierte Subversion einfach
+      die interne Vergleichsbibliothek und benutzte die externen
+      Programmen mit den langen Argumentlisten und dem ganzen
+      Drumherum. Uns so ist es noch heute.</para>

+<!--
      <para>It didn't take long for folks to realize that having such
        easy configuration mechanisms for specifying that Subversion
        should use the external GNU diff and diff3 utilities located at
@@ -2034,7 +2060,23 @@
        options at your external diff tool regardless of whether
        that program can understand those options.  And that's where
        things get unintuitive for most users.</para>
+-->
+    <para>Es dauerte nicht lange, bis einige Leute feststellten, das
+      diese einfachen Konfigurationsmechanismen zur Festlegung der
+      Benutzung der externen GNU-Werkzeuge diff und diff3, die an
+      einem bestimmten Ort im System liegen, auch für andere
+      Vergleichswerkzeuge verwendet werden können. Schließlich hat
+      Subversion nicht überprüft, ob die Werkzeuge zur Werkzeugkette
+      der GNU diffutils gehören. Der einzige konfigurierbare Aspekt
+      bei der Verwendung dieser externen Werkzeuge ist allerdings der
+      Speicherort im System – weder die Menge der Optionen noch
+      die Reihenfolge der Parameter usw. Subversion übergibt all diese
+      GNU-Werkzeug-Optionen an Ihr externes Vergleichswerkzeug, ohne
+      zu berücksichtigen, ob das Programm sie überhaupt versteht. Und
+      hier hört es für die meisten Benutzer auf, intuitiv zu
+      sein.</para>

+<!--
      <para>The key to using external two- and three-way differencing tools
        (other than GNU diff and diff3, of course) with Subversion is to
        use wrapper scripts, which convert the input from Subversion into
@@ -2043,8 +2085,19 @@
        Subversion expects—the format that the GNU tools would
        have used.  The following sections cover the specifics of those
        expectations.</para>
+-->
+    <para>Der Schlüssel zur Benutzung externer Zwei- und
+      Dreiwege-Vergleichsprogramme (natürlich anderer als GNU diff und
+      diff3) mit Subversion besteht darin, die Werkzeuge in Skripte
+      <quote>einzupacken</quote>, die die Eingaben von Subversion in
+      etwas umwandeln, das Ihr Werkzeug versteht, und dann die Ausgabe
+      Ihres Werkzeugs in ein von Subversion erwartetes Format
+      umzuwandeln – das Format, das die GNU-Werkzeuge verwendet
+      hätten. Die folgenden Abschnitte behandeln die Besonderheiten
+      dieser Erwartungen.</para>

      <note>
+<!--
        <para>The decision on when to fire off a contextual two- or three-way
          diff as part of a larger Subversion operation is made entirely
          by Subversion and is affected by, among other things, whether
@@ -2058,8 +2111,24 @@
          <literal>application/msword</literal>).  For more about MIME
          type settings, see <xref
          linkend="svn.advanced.props.special.mime-type"/></para>
+-->
+      <para>Die Entscheidung, wann ein kontextabhängiges Zwei- oder
+        Dreiwege-Vergleichsprogramm als Teil einer größeren Operation
+        von Subversion gestartet wird, obliegt allein Subversion und
+        wird unter anderem dadurch beeinflusst, ob die Dateien nach
+        Maßgabe des Propertys <literal>svn:mime-type</literal>
+        menschenlesbar sind. Das bedeutet beispielsweise, selbst falls
+        Sie über das raffinierteste Vergleichs- oder
+        Zusammenführungsprogramm des Universums verfügten, welches
+        Microsoft Word versteht, würde es niemals von Subversion
+        aufgerufen, solange Ihre versionierten Word-Dokumente einen
+        MIME-Typen hätten, der sie als nicht-menschenlesbar
+        kennzeichnet (so wie <literal>application/msword</literal>).
+        Mehr über MIME-Type-Einstellungen unter <xref
+        linkend="svn.advanced.props.special.mime-type"/></para>
      </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
@@ -2078,6 +2147,29 @@
        (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>Subversion 1.5 führt die interaktive Auflösung von
+      Konflikten ein (in <xref linkend="svn.tour.cycle.resolve" />
+      beschrieben), und eine der 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 eins 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 Repository 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>

      <!-- ===============================================================  
-->
      <sect2 id="svn.advanced.externaldifftools.diff">


More information about the svnbook-dev mailing list