[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