[svnbook] r4942 committed - Translation: ch08-embedding-svn.xml

svnbook at googlecode.com svnbook at googlecode.com
Tue Nov 25 10:21:49 CST 2014


Revision: 4942
Author:   jmfelderhoff at gmx.eu
Date:     Tue Nov 25 16:21:32 2014 UTC
Log:      Translation: ch08-embedding-svn.xml

https://code.google.com/p/svnbook/source/detail?r=4942

Modified:
  /branches/1.8/de/book/ch08-embedding-svn.xml

=======================================
--- /branches/1.8/de/book/ch08-embedding-svn.xml	Tue Nov 25 15:14:00 2014  
UTC
+++ /branches/1.8/de/book/ch08-embedding-svn.xml	Tue Nov 25 16:21:32 2014  
UTC
@@ -1,3 +1,5 @@
+<!-- -*- sgml -*- -->
+
  <chapter id="svn.developer">
  <!--
    <title>Embedding Subversion</title>
@@ -5,7 +7,14 @@
    <title>Subversion integrieren</title>

  <!--
-  <para>Subversion has a modular design: it's implemented as a
+  <para>
+    <indexterm>
+      <primary>API</primary>
+    </indexterm>
+    <indexterm>
+      <primary>application programming interface</primary>
+      <see>API</see>
+    </indexterm>Subversion has a modular design: it's implemented as a
      collection of libraries written in C.  Each library has a
      well-defined purpose and application programming interface (API),
      and that interface is available not only for Subversion itself to
@@ -15,9 +24,20 @@
      programs written in higher-level languages such as Python, Perl,
      Java, and Ruby.</para>
  -->
-  <para>Subversion ist modular entworfen: Es ist implementiert als
-    eine Sammlung in C geschriebener Bibliotheken. Jede Bibliothek hat
-    einen wohldefinierten Zweck und eine Programmierschnittstelle
+  <para>
+    <indexterm>
+      <primary>API</primary>
+    </indexterm>
+    <indexterm>
+      <primary>Application Programming Interface</primary>
+      <see>API</see>
+    </indexterm>
+    <indexterm>
+      <primary>Programmierschnittstelle</primary>
+      <see>API</see>
+    </indexterm>Subversion ist modular entworfen: Es ist implementiert
+    als eine Sammlung in C geschriebener Bibliotheken. Jede Bibliothek
+    hat einen wohldefinierten Zweck und eine Programmierschnittstelle
      (API), die nicht nur für Subversion selbst sondern auch für andere
      Software zur Verfügung steht, die Subversion integrieren oder
      anderweitig programmseitig kontrollieren möchte. Außerdem ist die
@@ -61,9 +81,13 @@
      <title>Schichtenmodell der Bibliotheken</title>

  <!--
-    <para>Each of Subversion's core libraries can be said to exist in
-      one of three main layers—the Repository layer, the
-      Repository Access (RA) layer, or the Client layer (see
+    <para>
+      <indexterm>
+        <primary>API</primary>
+        <secondary>layers</secondary>
+      </indexterm>Each of Subversion's core libraries can be said to
+      exist in one of three main layers—the Repository layer,
+      the Repository Access (RA) layer, or the Client layer (see
        <xref linkend="svn.intro.architecture.dia-1" /> in the Preface).
        We will examine these layers shortly, but first, let's briefly
        summarize Subversion's various libraries.  For the sake of
@@ -72,8 +96,12 @@
        (<filename>libsvn_fs</filename>, <filename>libsvn_wc</filename>,
        <filename>mod_dav_svn</filename>, etc.).</para>
  -->
-    <para>Jede der Kernbibliotheken von Subversion gehört zu einer von
-      drei Schichten – der Projektarchiv-Schicht, der
+    <para>
+      <indexterm>
+        <primary>API</primary>
+        <secondary>Schichten</secondary>
+      </indexterm>Jede der Kernbibliotheken von Subversion gehört zu
+      einer von drei Schichten – der Projektarchiv-Schicht, der
        Projektarchiv-Zugriffs-Schicht oder der Client-Schicht (siehe
        <xref linkend="svn.intro.architecture.dia-1" /> im Vorwort). Wir
        werden diese Schichten gleich untersuchen, doch zunächst wollen
@@ -156,12 +184,6 @@
        </varlistentry>
        <varlistentry>
          <term>libsvn_ra_neon</term>
-<!--
-        <listitem><para>The WebDAV Repository Access
-          module</para></listitem>
--->
-        <listitem><para>Modul für den
-          WebDAV-Projektarchiv-Zugriff</para></listitem>
        </varlistentry>
        <varlistentry>
          <term>libsvn_ra_serf</term>
@@ -255,14 +277,13 @@
        API without affecting the rest of the code base.  In some sense,
        this happens within Subversion already.  The
        <filename>libsvn_ra_local</filename>,
-      <filename>libsvn_ra_neon</filename>,
        <filename>libsvn_ra_serf</filename>, and
        <filename>libsvn_ra_svn</filename> libraries each implement the
        same interface, all working as plug-ins to
-      <filename>libsvn_ra</filename>.  And all four communicate with
-      the Repository layer—<filename>libsvn_ra_local</filename>  
connects to the
-      repository directly; the other three do so over a network.  The
-      <filename>libsvn_fs_base</filename> and
+      <filename>libsvn_ra</filename>.  And all three communicate with
+      the Repository layer—<filename>libsvn_ra_local</filename>
+      connects to the repository directly; the others do so over a
+      network.  The <filename>libsvn_fs_base</filename> and
        <filename>libsvn_fs_fs</filename> libraries are another pair of
        libraries that implement the same functionality in different
        ways—both are plug-ins to the common
@@ -274,13 +295,12 @@
        ohne den Rest der Code-Basis zu beeinflussen. Eigentlich
        passiert das bereits mit Subversion. Die Bibliotheken
        <filename>libsvn_ra_local</filename>,
-      <filename>libsvn_ra_neon</filename>,
        <filename>libsvn_ra_serf</filename> und
        <filename>libsvn_ra_svn</filename> implementieren alle die
        gleiche Schnittstelle und funktionieren als Plug-In für
-      <filename>libsvn_ra</filename>.  Alle vier kommunizieren mir der
+      <filename>libsvn_ra</filename>.  Alle drei kommunizieren mit der
        Projektarchiv-Schicht – <filename>libsvn_ra_local</filename>
-      verbindet sich direkt mit dem Projektarchiv; die drei anderen
+      verbindet sich direkt mit dem Projektarchiv; die anderen
        machen das über das Netz. Die Bibliotheken
        <filename>libsvn_fs_base</filename> und
        <filename>libsvn_fs_fs</filename> sind noch ein Paar, das die
@@ -328,7 +348,12 @@
        <title>Projektarchiv-Schicht</title>

  <!--
-      <para>When referring to Subversion's Repository layer, we're
+      <para>
+        <indexterm>
+          <primary>API</primary>
+          <secondary>layers</secondary>
+          <tertiary>Repository Layer</tertiary>
+        </indexterm>When referring to Subversion's Repository layer, we're
          generally talking about two basic concepts—the versioned
          filesystem implementation (accessed via
          <filename>libsvn_fs</filename>, and supported by its
@@ -342,12 +367,17 @@
          the perspective of the Subversion user, the stuff at the
          <quote>other end of the line.</quote></para>
  -->
-      <para>Wenn wir uns auf die Projektarchiv-Schicht von Subversion
-        beziehen, reden wir üblicherweise über zwei grundlegende
-        Konzepte – die Implementierung des versionierten
-        Dateisystems (auf das mittels <filename>libsvn_fs</filename>
-        zugegriffen wird, unterstützt durch dessen Plug-Ins
-        <filename>libsvn_fs_base</filename> und
+      <para>
+        <indexterm>
+          <primary>API</primary>
+          <secondary>Schichten</secondary>
+          <tertiary>Projektarchiv-Schicht</tertiary>
+        </indexterm>Wenn wir uns auf die Projektarchiv-Schicht von
+        Subversion beziehen, reden wir üblicherweise über zwei
+        grundlegende Konzepte – die Implementierung des
+        versionierten Dateisystems (auf das mittels
+        <filename>libsvn_fs</filename> zugegriffen wird, unterstützt
+        durch dessen Plug-Ins <filename>libsvn_fs_base</filename> und
          <filename>libsvn_fs_fs</filename>) und die Logik des
          Projektarchivs, die es umgibt (implementiert in
          <filename>libsvn_repos</filename>). Diese Bibliotheken liefern
@@ -359,7 +389,11 @@
          Leitung</quote> dar.</para>

  <!--
-      <para>The Subversion filesystem is not a kernel-level filesystem
+      <para>
+        <indexterm>
+          <primary>repositories</primary>
+          <secondary>filesystem</secondary>
+        </indexterm>The Subversion filesystem is not a kernel-level  
filesystem
          that one would install in an operating system (such as the
          Linux ext2 or NTFS), but instead is a virtual filesystem.
          Rather than storing <quote>files</quote> and
@@ -380,18 +414,22 @@
          Subversion filesystem plug-in that used Google's ultra-scalable
          Bigtable database for its storage.</para>
  -->
-      <para>Das Dateisystem von Subversion ist kein Dateisystem auf
-        Kernel-Ebene, das im Betriebssystem installiert würde (so wie
-        Linux ext3 oder NTFS), sondern ein virtuelles Dateisystem.
-        Anstatt <quote>Dateien</quote> und
+      <para>
+        <indexterm>
+          <primary>Projektarchive</primary>
+          <secondary>Dateisystem</secondary>
+        </indexterm>Das Dateisystem von Subversion ist kein
+        Dateisystem auf Kernel-Ebene, das im Betriebssystem
+        installiert würde (so wie Linux ext3 oder NTFS), sondern ein
+        virtuelles Dateisystem.  Anstatt <quote>Dateien</quote> und
          <quote>Verzeichnisse</quote> als echte Dateien und
          Verzeichnisse abzulegen (in denen Sie mit Ihrem bevorzugten
          Shell-Programm navigieren können), verwendet es eins von zwei
-        verfügbaren abstrakten Speicherverfahren – entweder
-        eine Berkeley-DB-Datenbankumgebung oder eine Repräsentation
-        über einfache Dateien. (Um mehr über die zwei Verfahren
+        verfügbaren abstrakten Speicherverfahren – entweder eine
+        Berkeley-DB-Datenbankumgebung oder eine Repräsentation über
+        einfache Dateien. (Um mehr über die zwei Verfahren
          kennenzulernen, siehe <xref
-        linkend="svn.reposadmin.basics.backends"/>.) Es hat seitens
+          linkend="svn.reposadmin.basics.backends"/>.) Es hat seitens
          der Entwicklergemeinschaft ein beträchtliches Interesse
          bestanden, künftigen Versionen von Subversion die Fähigkeit zu
          verleihen, andere Datenbanksysteme zu verwenden, etwa über
@@ -404,7 +442,11 @@
          Bigtable-Datenbank zum Speichern verwendet.</para>

  <!--
-      <para>The filesystem API exported by
+      <para>
+        <indexterm>
+          <primary>repositories</primary>
+          <secondary>filesystem tree</secondary>
+        </indexterm>The filesystem API exported by
          <filename>libsvn_fs</filename> contains the kinds of
          functionality you would expect from any other filesystem
          API—you can create and remove files and directories,
@@ -420,7 +462,11 @@
          versioning time to (and just beyond) the moment you first
          started adding things to the filesystem.</para>
  -->
-      <para>Die von <filename>libsvn_fs</filename> exportierte
+      <para>
+        <indexterm>
+          <primary>Projektarchive</primary>
+          <secondary>Dateisystem-Baum</secondary>
+        </indexterm>Die von <filename>libsvn_fs</filename> exportierte
          Dateisystem-Programmierschnittstelle enthält die Funktionen,
          die Sie auch von jeder anderen Programmierschnittstelle für
          ein Dateisystem erwarten würden – Sie können Dateien und
@@ -812,13 +858,17 @@
        <title>Projektarchiv-Zugriffs-Schicht</title>

  <!--
-      <para>If the Subversion Repository layer is at <quote>the other
+      <para>
+        <indexterm>
+          <primary>API</primary>
+          <secondary>layers</secondary>
+          <tertiary>Repository Access (RA) Layer</tertiary>
+        </indexterm>If the Subversion Repository layer is at <quote>the  
other
          end of the line,</quote> the Repository Access (RA) layer is
          the line itself.  Charged with marshaling data between the
          client libraries and the repository, this layer includes the
          <filename>libsvn_ra</filename> module loader library, the RA
          modules themselves (which currently includes
-        <filename>libsvn_ra_neon</filename>,
          <filename>libsvn_ra_local</filename>,
          <filename>libsvn_ra_serf</filename>, and
          <filename>libsvn_ra_svn</filename>), and any additional
@@ -827,14 +877,18 @@
          <filename>libsvn_ra_svn</filename>'s server,
          <command>svnserve</command>).</para>
  -->
-      <para>Wenn die Subversion-Projektarchiv-Schicht das <quote>andere
-        Ende der Leitung</quote> repräsentiert, stellt die
-        Projektarchiv-Zugriffs-Schicht (RA) die Leitung selbst dar. Ihre
-        Aufgabe ist das Umherschaufeln von Daten zwischen den
-        Client-Bibliotheken und dem Projektarchiv. Diese Schicht umfasst
-        die Bibliothek  <filename>libsvn_ra</filename> zum Laden von
-        Modulen, die eigentlichen RA-Module (momentan
-        <filename>libsvn_ra_neon</filename>,
+      <para>
+        <indexterm>
+          <primary>API</primary>
+          <secondary>Schichten</secondary>
+          <tertiary>Projektarchiv-Zugangs-Schicht (RA)</tertiary>
+        </indexterm>Wenn die Subversion-Projektarchiv-Schicht das
+        <quote>andere Ende der Leitung</quote> repräsentiert, stellt
+        die Projektarchiv-Zugriffs-Schicht (RA) die Leitung selbst
+        dar. Ihre Aufgabe ist das Umherschaufeln von Daten zwischen
+        den Client-Bibliotheken und dem Projektarchiv. Diese Schicht
+        umfasst die Bibliothek  <filename>libsvn_ra</filename> zum
+        Laden von Modulen, die eigentlichen RA-Module (momentan
          <filename>libsvn_ra_local</filename>,
          <filename>libsvn_ra_serf</filename> und
          <filename>libsvn_ra_svn</filename>) und alle zusätzlichen
@@ -845,7 +899,10 @@
          <filename>libsvn_ra_svn</filename>).</para>

  <!--
-      <para>Since Subversion uses URLs to identify its repository
+      <para>
+        <indexterm>
+          <primary>repository URL</primary>
+        </indexterm>Since Subversion uses URLs to identify its repository
          resources, the protocol portion of the URL scheme (usually
          <literal>file://</literal>, <literal>http://</literal>,
          <literal>https://</literal>, <literal>svn://</literal>, or
@@ -858,7 +915,10 @@
          and what protocols they claim to support, by running
          <userinput>svn - -version</userinput>:</para>
  -->
-      <para>Da Subversion URLs zum Identifizieren seiner
+      <para>
+        <indexterm>
+          <primary>Projektarchiv-URL</primary>
+        </indexterm>Da Subversion URLs zum Identifizieren seiner
          Projektarchiv-Quellen benutzt, wird der Protokollteil des
          URL-Schemas (normalerweise <literal>file://</literal>,
          <literal>http://</literal>, <literal>https://</literal>,
@@ -876,19 +936,16 @@
        <informalexample>
          <screen>
  $ svn - -version
-svn, version 1.7.0
-   compiled Nov 15 2011, 10:10:24
+svn, version 1.8.0-dev (under development)
+   compiled Jan  8 2013, 11:45:25 on i686-pc-linux-gnu

-Copyright (C) 2011 The Apache Software Foundation.
-This software consists of contributions made by many people; see the NOTICE
-file for more information.
+Copyright (C) 2013 The Apache Software Foundation.
+This software consists of contributions made by many people;
+see the NOTICE file for more information.
  Subversion is open source software, see http://subversion.apache.org/

  The following repository access (RA) modules are available:

-* ra_neon : Module for accessing a repository via WebDAV protocol using  
Neon.
-  - handles 'http' scheme
-  - handles 'https' scheme
  * ra_svn : Module for accessing a repository using the svn network  
protocol.
    - with Cyrus SASL authentication
    - handles 'svn' scheme
@@ -904,19 +961,16 @@
  -->
        <screen>
  $ svn --version
-svn, Version 1.7.0
-   übersetzt Nov 15 2011, 10:10:24
+svn, Version 1.8.0-dev (under development)
+   übersetzt am 8. Jan. 2013, um 10:10:24 auf i686-pc-linux-gnu

-Copyright (C) 2011 The Apache Software Foundation.
-This software consists of contributions made by many people; see the NOTICE
-file for more information.
-Subversion is open source software, see http://subversion.apache.org/
+Copyright (C) 2013 The Apache Software Foundation.
+Diese Software besteht aus Beiträgen vieler Personen;
+siehe Datei NOTICE für weitere Informationen.
+Subversion ist Open Source Software, siehe http://subversion.apache.org/

  Die folgenden ZugriffsModule (ZM) für Projektarchive stehen zur Verfügung:

-* ra_neon : Modul zum Zugriff auf ein Projektarchiv über das Protokoll  
WebDAV mittels Neon.
-  - behandelt Schema »http«
-  - behandelt Schema »https«
  * ra_svn : Modul zum Zugriff auf ein Projektarchiv über das  
svn-Netzwerkprotokoll.
    - mit Cyrus-SASL-Authentifizierung
    - behandelt Schema »svn«
@@ -934,8 +988,7 @@
          functionality necessary for sending and receiving versioned
          data to and from the repository.  And each of the available RA
          plug-ins is able to perform that task using a specific
-        protocol—<filename>libsvn_ra_neon</filename>
-        and <filename>libsvn_ra_serf</filename> speak HTTP/WebDAV
+        protocol—<filename>libsvn_ra_serf</filename> speaks  
HTTP/WebDAV
          (optionally using SSL encryption) with an Apache HTTP Server
          that is running the <filename>mod_dav_svn</filename>
          Subversion server module; <filename>libsvn_ra_svn</filename>
@@ -947,8 +1000,7 @@
          zum und vom Projektarchiv notwendig sind. Jedes der
          verfügbaren RA-Plug-Ins kann diese Aufgabe mithilfe eines
          besonderen Protokolls erledigen –
-        <filename>libsvn_ra_neon</filename> sowie
-        <filename>libsvn_ra_serf</filename> kommunizieren über
+        <filename>libsvn_ra_serf</filename> kommuniziert über
          HTTP/WebDAV (optional mit SSL-Verschlüsselung) mit einem
          Apache-HTTP-Server auf dem das Subversion-Server-Modul
          <filename>mod_dav_svn</filename> läuft;
@@ -992,7 +1044,12 @@
        <title>Client-Schicht</title>

  <!--
-      <para>On the client side, the Subversion working copy is where
+      <para>
+        <indexterm>
+          <primary>API</primary>
+          <secondary>layers</secondary>
+          <tertiary>Client Layer</tertiary>
+        </indexterm>On the client side, the Subversion working copy is  
where
          all the action takes place.  The bulk of functionality
          implemented by the client-side libraries exists for the sole
          purpose of managing working copies—directories full of
@@ -1001,7 +1058,12 @@
          locations—and propagating changes to and from the
          Repository Access layer.</para>
  -->
-      <para>Auf der Client-Seite finden alle Aktionen in der
+      <para>
+        <indexterm>
+          <primary>API</primary>
+          <secondary>Schichten</secondary>
+          <tertiary>Client-Schicht</tertiary>
+        </indexterm>Auf der Client-Seite finden alle Aktionen in der
          Subversion-Arbeitskopie statt. Der größte Teil der in den
          Client-Bibliotheken implementierten Funktionen dient dem
          alleinigen Zweck, die Arbeitskopien zu verwalten –
@@ -1012,7 +1074,10 @@
          weiterzugeben oder von ihr zu empfangen.</para>

  <!--
-      <para>Subversion's working copy library,
+      <para>
+        <indexterm>
+          <primary>administrative directory</primary>
+        </indexterm>Subversion's working copy library,
          <filename>libsvn_wc</filename>, is directly responsible for
          managing the data in the working copies.  To accomplish this,
          the library stores administrative information about the
@@ -1025,7 +1090,10 @@
          purpose to the <filename>CVS</filename> administrative
          directories found in CVS working copies.</para>
  -->
-      <para>Die Bibliothek für die Arbeitskopie von Subversion,
+      <para>
+        <indexterm>
+          <primary>Verwaltungsverzeichnis</primary>
+        </indexterm>Die Bibliothek für die Arbeitskopie von Subversion,
          <filename>libsvn_wc</filename>, ist direkt dafür
          verantwortlich, die Daten in den Arbeitskopien zu verwalten.
          Hierzu speichert die Bibliothek Verwaltungsinformationen zur
@@ -1407,7 +1475,11 @@
          <title>Programmierung mit Speicher-Pools</title>

  <!--
-        <para>Almost every developer who has used the C programming
+        <para>
+          <indexterm>
+            <primary>API</primary>
+            <secondary>memory pools</secondary>
+          </indexterm>Almost every developer who has used the C programming
            language has at some point sighed at the daunting task of
            managing memory usage.  Allocating enough memory to use,
            keeping track of those allocations, freeing the memory when
@@ -1416,7 +1488,11 @@
            can result in a program that crashes itself, or worse,
            crashes the computer.</para>
  -->
-        <para>Fast jeder C-Programmierer hat irgendwann mal gestöhnt,
+        <para>
+          <indexterm>
+            <primary>API</primary>
+            <secondary>Speicher-Pools</secondary>
+          </indexterm>Fast jeder C-Programmierer hat irgendwann mal  
gestöhnt,
            wenn es um die abschreckende Aufgabe der Speicherverwaltung ging.
            Genügend Speicher anzufordern, über den Speicher Buch zu
            führen, den Speicher nach Benutzung wieder freizugeben
@@ -1491,7 +1567,11 @@
        <title>Funktionen und Batons</title>

  <!--
-      <para>To facilitate <quote>streamy</quote> (asynchronous) behavior
+      <para>
+        <indexterm>
+          <primary>API</primary>
+          <secondary>batons</secondary>
+        </indexterm>To facilitate <quote>streamy</quote> (asynchronous)  
behavior
          and provide consumers of the Subversion C API with hooks for
          handling information in customizable ways, many functions in
          the API accept pairs of parameters: a pointer to a callback
@@ -1502,12 +1582,16 @@
          function needs but which is not given directly to the callback
          function by the driving API function.</para>
  -->
-      <para>Um ein <quote>datenstromähnliches</quote> (asynchrones)
-        Verhalten zu ermöglichen und Benutzern der Subversion
-        C-Programmierschnittstelle Anknüpfpunkte für eine flexible
-        Informationsverarbeitung zur Verfügung zu stellen, akzeptieren
-        viele Funktionen der Schnittstelle Parameterpaare: ein Zeiger
-        auf eine Rückruffunktion und einen Zeiger auf einen
+      <para>
+        <indexterm>
+          <primary>API</primary>
+          <secondary>batons</secondary>
+        </indexterm>Um ein <quote>datenstromähnliches</quote>
+        (asynchrones) Verhalten zu ermöglichen und Benutzern der
+        Subversion C-Programmierschnittstelle Anknüpfpunkte für eine
+        flexible Informationsverarbeitung zur Verfügung zu stellen,
+        akzeptieren viele Funktionen der Schnittstelle Parameterpaare:
+        ein Zeiger auf eine Rückruffunktion und einen Zeiger auf einen
          Speicherbereich, genannt <firstterm>Baton</firstterm>
          (Staffelstab), der Kontextinformationen für die
          Rückruffunktion beinhaltet. Bei Batons handelt es sich


More information about the svnbook-dev mailing list