[svnbook commit] r3492 - * trunk/src/de/book/ch07-customizing-svn.xml
codesite-noreply at google.com
codesite-noreply at google.com
Fri Apr 17 16:35:47 CDT 2009
Author: jmfelderhoff at gmx.eu
Date: Fri Apr 17 14:25:53 2009
New Revision: 3492
Modified:
trunk/src/de/book/ch07-customizing-svn.xml
Log:
* trunk/src/de/book/ch07-customizing-svn.xml
- Fixes ticket #243 (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 14:25:53 2009
@@ -2329,8 +2329,12 @@
<!-- ===============================================================
-->
<sect2 id="svn.advanced.externaldifftools.diff3">
+<!--
<title>External diff3</title>
+-->
+ <title>Externes diff3</title>
+<!--
<para>Subversion calls external merge programs with parameters
suitable for the GNU diff3 utility, expecting that the
external program will return with a successful error code and that
@@ -2348,14 +2352,43 @@
error code of 0 if the merge was successful, or 1 if unresolved
conflicts remain in the output—any other error code is
considered a fatal error.</para>
+-->
+ <para>Subversion ruft externe Zusammenführungsprogramme mit
+ Parametern auf, die für das GNU diff3-Werkzeug passen und
+ erwartet, dass das externe Programm einen Erfolg
+ signalisierenden Rückgabewert liefert und der vollständige
+ Inhalt als Ergebnis der beendeten Zusammenführung in den
+ Standardausgabestrom geschrieben wird (damit Subversion diesen
+ in die entsprechende Datei unter Versionskontrolle umleiten
+ kann). Für die meisten alternativen Zusammenführungsprogramme
+ sind nur die Argumente an neunter, zehnter und elfter Stelle
+ interessant, die die Pfade der Dateien, die die Eingaben
+ <quote>eigene</quote>, <quote>ältere</quote> bzw.
+ <quote>fremde</quote> repräsentieren. Beachten Sie, dass Ihr
+ Skript nicht beendet werden darf, bevor die Ausgabe an
+ Subversion abgeliefert wurde, da Subversion auf die Ausgabe
+ Ihres Zusammenführungsprogramms angewiesen ist. Wenn es
+ schließlich beendet wird, sollte es einen Rückgabewert 0 im
+ Erfolgsfall und 1 bei verbleibenden Konflikten zurückgeben
+ – jeder andere Rückgabewert wird als fataler Fehler
+ angesehen.</para>
+<!--
<para><xref linkend="svn.advanced.externaldifftools.diff3.ex-1"/>
and <xref linkend="svn.advanced.externaldifftools.diff3.ex-2"/> are
templates for external merge tool wrappers in the Python
and Windows batch scripting languages, respectively.</para>
+-->
+ <para><xref linkend="svn.advanced.externaldifftools.diff3.ex-1"/>
+ und <xref
+ linkend="svn.advanced.externaldifftools.diff3.ex-2"/> sind
+ <quote>Verpackungs</quote>-Vorlagen für externe
+ Zusammenführungsprogramme in den Skriptsprachen Python bzw.
+ Windows-Batch.</para>
<example id="svn.advanced.externaldifftools.diff3.ex-1">
<title>diff3wrap.py</title>
+<!--
<programlisting>
#!/usr/bin/env python
import sys
@@ -2371,7 +2404,7 @@
# Call the merge command (change the following line to make sense for
# your merge program).
-cmd = [DIFF3, '--older', OLDER, '--mine', MINE, '--yours', YOURS]
+cmd = [DIFF3, '- -older', OLDER, '- -mine', MINE, '- -yours', YOURS]
os.execv(cmd[0], cmd)
# After performing the merge, this script needs to print the contents
@@ -2379,6 +2412,32 @@
# Return an errorcode of 0 on successful merge, 1 if unresolved conflicts
# remain in the result. Any other errorcode will be treated as fatal.
</programlisting>
+-->
+ <programlisting>
+#!/usr/bin/env python
+import sys
+import os
+
+# Geben Sie hier Ihr bevorzugtes diff-Programm an.
+DIFF3 = "/usr/local/bin/my-merge-tool"
+
+# Subversion liefert die benötigten Pfade als die letzten drei Parameter.
+MINE = sys.argv[-3]
+OLDER = sys.argv[-2]
+YOURS = sys.argv[-1]
+
+# Aufruf des merge-Befehls (ändern Sie die folgende Zeile passend für
+# Ihr merge-Programm).
+cmd = [DIFF3, '--older', OLDER, '--mine', MINE, '--yours', YOURS]
+os.execv(cmd[0], cmd)
+
+# Nach der Zusammenführung muss dieses Skript den Inhalt der
+# zusammengeführten Datei nach stdout schreiben. Machen Sie das, wie
+# Sie wollen.
+# Rückgabewert 0 bei erfolgreicher Zusammenführung, 1 falls noch
+# unaufgelöste Konflikte vorhanden. Alles andere wird als fatal
+# betrachtet,
+</programlisting>
</example>
<example id="svn.advanced.externaldifftools.diff3.ex-2">
@@ -2386,27 +2445,30 @@
<programlisting>
@ECHO OFF
-REM Configure your favorite diff3/merge program here.
+REM Geben Sie hier Ihr bevorzugtes diff-Programm an.
SET DIFF3="C:\Program Files\Funky Stuff\My Merge Tool.exe"
-REM Subversion provides the paths we need as the last three parameters.
-REM These are parameters 9, 10, and 11. But we have access to only
-REM nine parameters at a time, so we shift our nine-parameter window
-REM twice to let us get to what we need.
+REM Subversion liefert die benötigten Pfade als die letzten drei Parameter.
+REM Das sind die Parameter 9, 10 und 11. Allerdings haben wir zu einem
+REM gegebenen Zeitpunkt nur Zugriff auf neun Parameter, so dass wir
+REM unser Fenster aus neun Parametern zweimal verschieben, um das zu
+REM bekommen, was wir benötigen.
SHIFT
SHIFT
SET MINE=%7
SET OLDER=%8
SET YOURS=%9
-REM Call the merge command (change the following line to make sense for
-REM your merge program).
+REM Aufruf des merge-Befehls (ändern Sie die folgende Zeile passend für
+REM Ihr merge-Programm).
%DIFF3% --older %OLDER% --mine %MINE% --yours %YOURS%
-REM After performing the merge, this script needs to print the contents
-REM of the merged file to stdout. Do that in whatever way you see fit.
-REM Return an errorcode of 0 on successful merge, 1 if unresolved conflicts
-REM remain in the result. Any other errorcode will be treated as fatal.
+REM Nach der Zusammenführung muss dieses Skript den Inhalt der
+REM zusammengeführten Datei nach stdout schreiben. Machen Sie das, wie
+REM Sie wollen.
+REM Rückgabewert 0 bei erfolgreicher Zusammenführung, 1 falls noch
+REM unaufgelöste Konflikte vorhanden. Alles andere wird als fatal
+REM betrachtet,
</programlisting>
</example>
More information about the svnbook-dev
mailing list