[svnbook commit] r3520 - * trunk/src/de/book/ch08-embedding-svn.xml
codesite-noreply at google.com
codesite-noreply at google.com
Mon May 25 05:36:45 CDT 2009
Author: jmfelderhoff at gmx.eu
Date: Mon May 25 03:35:49 2009
New Revision: 3520
Modified:
trunk/src/de/book/ch08-embedding-svn.xml
Log:
* trunk/src/de/book/ch08-embedding-svn.xml
- Fixes ticket #256 (cf. http://www.svnbook.de/report/6).
Modified: trunk/src/de/book/ch08-embedding-svn.xml
==============================================================================
--- trunk/src/de/book/ch08-embedding-svn.xml (original)
+++ trunk/src/de/book/ch08-embedding-svn.xml Mon May 25 03:35:49 2009
@@ -1826,8 +1826,12 @@
<!-- ===============================================================
-->
<sect2 id="svn.developer.usingapi.otherlangs">
+<!--
<title>Using Languages Other Than C and C++</title>
+-->
+ <title>Verwendung anderer Sprachen als C und C++</title>
+<!--
<para>If you are interested in using the Subversion libraries in
conjunction with something other than a C program—say, a
Python or Perl script—Subversion has some support for this
@@ -1838,7 +1842,21 @@
to call Subversion API functions indirectly, using wrappers that
translate the datatypes native to your scripting language into
the datatypes needed by Subversion's C libraries.</para>
+-->
+ <para>Falls Sie daran interessiert sein sollten, die
+ Subversion-Bibliotheken in Verbindung mit etwas anderem als
+ ein C-Programm zu benutzen – etwa ein Python- oder ein
+ Perl-Script – bietet Subversion etwas Unterstützung über
+ den <emphasis>Simplified Wrapper and Interface
+ Generator</emphasis> (SWIG). Die SWIG-Bindungen für Subversion
+ liegen in <filename>subversion/bindings/swig</filename>. Sie
+ reifen zwar noch, können aber verwendet werden. Diese
+ Bindungen erlauben Ihnen, Subversion-API-Funktionen indirekt
+ aufzurufen, indem eine Zwischenschicht verwendet wird, die die
+ Datentypen Ihrer Skriptsprache in die Datentypen umwandeln,
+ die von Subversions C-Bibliotheken benötigt werden.</para>
+<!--
<para>Significant efforts have been made toward creating
functional SWIG-generated bindings for Python, Perl, and Ruby.
To some extent, the work done preparing the SWIG interface
@@ -1850,7 +1868,21 @@
translating between languages. For more information on SWIG
itself, see the project's web site at <ulink
url="http://www.swig.org/"/>.</para>
+-->
+ <para>Es wurden bedeutende Anstrengungen unternommen, um
+ funktionierende SWIG-erzeugte Bindungen für Python, Perl und
+ Ruby zur Verfügung zu stellen. Bis zu einem gewissen Grad kann
+ die Arbeit zur Vorbereitung der SWIG-Schnittstellen für diese
+ Sprachen wiederverwendet werden, wenn es darum geht, Bindungen
+ für andere von SWIG unterstützte Sprachen zu erzeugen (unter
+ anderem Versionen von C#, Guile, Java, MzScheme, OCaml, PHP
+ und Tcl). Jedoch ist etwas zusätzliche Programmierarbeit für
+ komplizierte APIs erforderlich, bei deren Übersetzung SWIG ein
+ wenig Hilfe benötigt. Weitergehende Informationen zu SWIG
+ finden Sie auf der Projektseite unter <ulink
+ url="http://www.swig.org/"/>.</para>
+<!--
<para>Subversion also has language bindings for Java. The
javahl bindings (located in
<filename>subversion/bindings/java</filename> in the
@@ -1859,7 +1891,17 @@
Subversion client-side APIs and is specifically targeted at
implementors of Java-based Subversion clients and IDE
integrations.</para>
+-->
+ <para>Subversion verfügt ebenfalls über Sprachbindungen für
+ Java. Die javahl-Bindungen (zu finden in
+ <filename>subversion/bindings/java</filename> im
+ Subversion-Quelltext-Baum) sind nicht SWIG-basiert sondern ein
+ Gemisch aus Java und handgeschriebenem JNI. Javahl deckt die
+ meisten client-seitigen Subversion-APIs ab und zielt besonders
+ auf Implementierer Java-basierter Subversion-Clients und
+ IDE-Integrationen ab.</para>
+<!--
<para>Subversion's language bindings tend to lack the level of
developer attention given to the core Subversion modules, but
can generally be trusted as production-ready. A number of
@@ -1867,7 +1909,17 @@
and other third-party tools are successfully using
Subversion's language bindings today to accomplish their
Subversion integrations.</para>
+-->
+ <para>Zwar gilt den Sprachbindungen von Subversion seitens der
+ Entwickler nicht dieselbe Aufmerksamkeit wie den
+ Subversion-Kernmodulen, doch sie sind durchaus bereit für den
+ Einsatz. Eine Reihe von Skripten und Anwendungen, alternative
+ graphische Subversion-Clients und andere Werkzeuge von
+ Drittanbietern machen heute schon erfolgreich Gebrauch von den
+ Subversion-Sprachbindungen, um ihre Subversion-Integration
+ zustande zu bringen.</para>
+<!--
<para>It's worth noting here that there are other options for
interfacing with Subversion using other languages: alternative
bindings for Subversion that aren't provided by the
@@ -1884,10 +1936,32 @@
implementation of Subversion, check out SVNKit (<ulink
url="http://svnkit.com/" />), which is Subversion rewritten
from the ground up in Java.</para>
+-->
+ <para>An dieser Stelle ist es erwähnenswert, dass es auch andere
+ Optionen gibt, um Subversion-Schnittstellen in anderen
+ Sprachen zu verwenden: alternative Subversion-Bindungen, die
+ gar nicht aus der Subversion-Entwicklergemeinde stammen. Sie
+ können Links zu diesen alternativen Bindungen auf der
+ Linkseite des Subversion-Projektes finden (unter <ulink
+ url="http://subversion.tigris.org/links.html" />), doch es
+ gibt davon ein paar beliebte, die besonders erwähnenswert
+ sind. Zunächst seien die PySVN-Bindungen von Barry Scott
+ genannt (<ulink url="http://pysvn.tigris.org/" />), die eine
+ beliebte Alternative zur Python-Bindung darstellen. PySVN
+ rühmt sich, eine Schnittstelle zu liefern, die
+ Python-typischer ist als die eher C-ähnlichen APIs der
+ Subversion-eigenen Python-Bindungen. Und falls Sie eine reine
+ Java-Implementierung suchen, wehen Sie sich SVNKit (<ulink
+ url="http://svnkit.com/" />) an, das eine vollständige
+ Reimplementierung von Subversion in Java ist.</para>
<sidebar>
+<!--
<title>SVNKit Versus javahl</title>
+-->
+ <title>SVNKit verglichen mit javahl</title>
+<!--
<para>In 2005, a small company called TMate announced the
1.0.0 release of JavaSVN—a pure Java implementation of
Subversion. Since then, the project has been renamed to
@@ -1895,7 +1969,17 @@
and has seen great success as a provider of Subversion
functionality to various Subversion clients, IDE
integrations, and other third-party tools.</para>
+-->
+ <para>Im Jahr 2005 kündigte eine kleine Firma namens TMate die
+ Version 1.0.0 von of JavaSVN an – eine reine
+ Java-Implementierung von Subversion. Seitdem wurde das
+ Projekt in SVNKit umbenannt (verfügbar unter <ulink
+ url="http://svnkit.com/" />) und wurde erfolgreich als
+ Anbieter von Subversion-Funktionen für zahlreiche
+ Subversion-Clients, IDE-Integrationen und andere Werkzeuge
+ von Drittabietern eingesetzt.</para>
+<!--
<para>The SVNKit library is interesting in that, unlike the
javahl library, it is not merely a wrapper around the
official Subversion core libraries. In fact, it shares no
@@ -1915,7 +1999,31 @@
protocol because there's no pure Java implementation of
Berkeley DB that is file-format-compatible with the native
implementation of that library.</para>
+-->
+ <para>Die SVNKit-Bibliothek ist insofen interessant, als dass
+ sie, anders als die javahl-Bibliothek, nicht bloß eine
+ Umhüllung der Subversion-Kernbibliotheken darstellt.
+ Tatsächlich teilt sie sich überhaupt keinen Code mit
+ Subversion. Doch obwohl es einfach ist, SVNKit mit javahl zu
+ verwechseln und noch einfacher, gar nicht wahrzunehmen,
+ welche dieser Bibliotheken benutzt wird, sollten sich alle
+ bewusst sein, dass SVNKit sich in einigen entscheidenden
+ Punkten von javahl unterscheidet. Zunächst wird SVNKit nicht
+ als quelloffene Software entwickelt, und es scheinen
+ jederzeit nur wenige Entwickler daran zu arbeiten. Weiterhin
+ ist die Lizenz von SVNKit restriktiver als die von
+ Subversion. Da letztendlich SVNKit darauf abzielt, eine
+ reine Java Subversion-Bibliothek zu sein, ist SVNKit beim
+ Klonen von Teilen Subversions eingeschränkt, da es sonst den
+ Anschluss an die Versionen von Subversion verlieren würde.
+ Das ist bereits enmal passiert – SVNKit kann nicht
+ über das Protokoll <literal>file://</literal> auf
+ BDB-basierte Subversion-Repositorys zugreifen, da es keine
+ reine Java-Implementierung von Berkeley DB gibt, deren
+ Dateiformat kompatibel zur ursprünglichen Implementierung
+ dieser Bibliothek ist.</para>
+<!--
<para>That said, SVNKit has a well-established track record of
reliability. And a pure Java solution is much more robust
in the face of programming errors—a bug in SVNKit
@@ -1923,6 +2031,17 @@
libraries as accessed via javahl can bring down your entire
Java Runtime Environment. So, weigh the costs when choosing
a Java-based Subversion implementation.</para>
+-->
+ <para>Abgesehen davon, hat sich SVNKit einen guten Ruf in
+ Sachen Zuverlässigkeit erarbeitet. Und im Angesicht von
+ Programmierfehlern ist eine Java-Lösung robuster – ein
+ Fehler in SVNKit könnte eine behandelbare Ausnahme
+ provozieren, ein Fehler in den Kernbibliotheken von
+ Subversion jedoch könnte beim Zugriff über javahl Ihre
+ gesamte Java-Laufzeitumgebung zum Absturz bringen. Wägen Sie
+ also die Kosten sorgfältig ab, falls Sie sich für eine
+ Java-basierte Subversion-Implementierung entscheiden
+ sollten.</para>
</sidebar>
More information about the svnbook-dev
mailing list