[svnbook commit] r3500 - * trunk/src/de/book/ch08-embedding-svn.xml
codesite-noreply at google.com
codesite-noreply at google.com
Mon May 4 15:03:46 CDT 2009
Author: jmfelderhoff at gmx.eu
Date: Mon May 4 11:15:41 2009
New Revision: 3500
Modified:
trunk/src/de/book/ch08-embedding-svn.xml
Log:
* trunk/src/de/book/ch08-embedding-svn.xml
- Fixes ticket #246 (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 4 11:15:41 2009
@@ -54,8 +54,12 @@
<!-- =================================================================
-->
<!-- =================================================================
-->
<sect1 id="svn.developer.layerlib">
+<!--
<title>Layered Library Design</title>
+-->
+ <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 <xref
@@ -65,89 +69,163 @@
will refer to the libraries by their extensionless Unix library
names (<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 Repository-Schicht, der
+ Repository-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
+ wir eine kurze Zusammenfassung der verschiedenen Bibliotheken
+ präsentieren. Aus Konsistenzgründen beziehen wir uns auf die
+ Bibliotheken mit ihren Unix-Namen ohne Dateiendung
+ (<filename>libsvn_fs</filename>, <filename>libsvn_wc</filename>,
+ <filename>mod_dav_svn</filename>, usw.).</para>
<variablelist>
<varlistentry>
<term>libsvn_client</term>
+<!--
<listitem><para>Primary interface for client
programs</para></listitem>
+-->
+ <listitem><para>Hauptschnittstelle für
+ Client-Programme</para></listitem>
</varlistentry>
<varlistentry>
<term>libsvn_delta</term>
+<!--
<listitem><para>Tree and byte-stream differencing
routines</para></listitem>
+-->
+ <listitem><para>Prozeduren zum Vergleichen von Bäumen und
+ Byte-Strömen</para></listitem>
</varlistentry>
<varlistentry>
<term>libsvn_diff</term>
+<!--
<listitem><para>Contextual differencing and merging
routines</para></listitem>
+-->
+ <listitem><para>Prozeduren für kontextuelle Vergleiche und
+ Zusammenführungen</para></listitem>
</varlistentry>
<varlistentry>
<term>libsvn_fs</term>
+<!--
<listitem><para>Filesystem commons and module
loader</para></listitem>
+-->
+ <listitem><para>Gemeinsame Dateisystemprozeduren und
+ Modullader</para></listitem>
</varlistentry>
<varlistentry>
<term>libsvn_fs_base</term>
+<!--
<listitem><para>The Berkeley DB filesystem
backend</para></listitem>
+-->
+ <listitem><para>Das Berkeley-DB-Dateisystem</para></listitem>
</varlistentry>
<varlistentry>
<term>libsvn_fs_fs</term>
+<!--
<listitem><para>The native filesystem (FSFS)
backend</para></listitem>
+-->
+ <listitem><para>Das FSFS-Dateisystem</para></listitem>
</varlistentry>
<varlistentry>
<term>libsvn_ra</term>
+<!--
<listitem><para>Repository Access commons and module
loader</para></listitem>
+-->
+ <listitem><para>Gemeinsame Prozeduren für den
+ Repository-Zugriff und Modullader</para></listitem>
</varlistentry>
<varlistentry>
<term>libsvn_ra_local</term>
+<!--
<listitem><para>The local Repository Access
module</para></listitem>
+-->
+ <listitem><para>Modul für den lokalen
+ Repository-Zugriff</para></listitem>
</varlistentry>
<varlistentry>
<term>libsvn_ra_neon</term>
+<!--
<listitem><para>The WebDAV Repository Access
module</para></listitem>
+-->
+ <listitem><para>Modul für den
+ WebDAV-Repository-Zugriff</para></listitem>
</varlistentry>
<varlistentry>
<term>libsvn_ra_serf</term>
+<!--
<listitem><para>Another (experimental) WebDAV Repository
Access module</para></listitem>
+-->
+ <listitem><para>Ein weiteres (experimentelles) Modul für den
+ WebDAV-Repository-Zugriff</para></listitem>
</varlistentry>
<varlistentry>
<term>libsvn_ra_svn</term>
+<!--
<listitem><para>The custom protocol Repository Access
module</para></listitem>
+-->
+ <listitem><para>Repository-Zugriff über das spezielle
+ Protokoll</para></listitem>
</varlistentry>
<varlistentry>
<term>libsvn_repos</term>
+<!--
<listitem><para>Repository interface</para></listitem>
+-->
+ <listitem><para>Repository-Schnittstelle</para></listitem>
</varlistentry>
<varlistentry>
<term>libsvn_subr</term>
+<!--
<listitem><para>Miscellaneous helpful
subroutines</para></listitem>
+-->
+ <listitem><para>Verschiedene nützliche
+ Prozeduren</para></listitem>
</varlistentry>
<varlistentry>
<term>libsvn_wc</term>
+<!--
<listitem><para>The working copy management
library</para></listitem>
+-->
+ <listitem><para>Die Bibliothek zur Verwaltung der
+ Arbeitskopie</para></listitem>
</varlistentry>
<varlistentry>
<term>mod_authz_svn</term>
+<!--
<listitem><para>Apache authorization module for Subversion
repositories access via WebDAV</para></listitem>
+-->
+ <listitem><para>Apache-Authorisierungs-Modul für den
+ Subversion-Zugriff über WebDAV</para></listitem>
</varlistentry>
<varlistentry>
<term>mod_dav_svn</term>
+<!--
<listitem><para>Apache module for mapping WebDAV operations to
Subversion ones</para></listitem>
+-->
+ <listitem><para>Apache-Modul, zur Abbildung von
+ WebDAV-Operationen auf solche von
+ Subversion</para></listitem>
</varlistentry>
</variablelist>
+<!--
<para>The fact that the word <quote>miscellaneous</quote>
appears only once in the previous list is a good sign. The
Subversion development team is serious about making sure that
@@ -157,7 +235,19 @@
you can quickly formulate that kind of <quote>big
picture</quote> that allows you to pinpoint the location of
certain pieces of functionality with relative ease.</para>
+-->
+ <para>Die Tatsache, dass das Wort <quote>verschiedene</quote> nur
+ einmal in der obigen Liste auftaucht, ist ein gutes Zeichen. Das
+ Entwicklerteam von Subversion nimmt es ernst damit, dass
+ Funktionen in den richtigen Schichten und Bibliotheken
+ untergebracht werden. Der vielleicht größte Vorteil des
+ modularen Entwurfs liegt aus Sicht eines Entwicklers in der
+ Abwesenheit von Komplexität. Als Entwickler können Sie sich
+ schnell das <quote>große Bild</quote> vorstellen, das es Ihnen
+ erlaubt, bestimmte Funktionsbereiche relativ einfach zu
+ lokalisieren.</para>
+<!--
<para>Another benefit of modularity is the ability to replace a
given module with a whole new library that implements the same
API without affecting the rest of the code base. In some sense,
@@ -175,7 +265,28 @@
libraries that implement the same functionality in different
ways—both are plug-ins to the common
<filename>libsvn_fs</filename> library.</para>
+-->
+ <para>Ein weiterer Vorteil der Modularität ist die Möglichkeit,
+ ein gegebenes Modul durch eine völlig neue Bibliothek zu
+ ersetzen, die dieselbe Programmierschnittstelle implementiert,
+ 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
+ Repository-Schicht – <filename>libsvn_ra_local</filename>
+ verbindet sich direkt mit dem Repository; die drei 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
+ gleiche Funktion auf verschiedene Art implementiert –
+ beide sind Plug-Ins der gemeinsamen Bibliothek
+ <filename>libsvn_fs</filename>.</para>
+<!--
<para>The client itself also highlights the benefits of modularity
in the Subversion design. Subversion's
<filename>libsvn_client</filename> library is a one-stop shop
@@ -190,6 +301,22 @@
proliferation of available Subversion clients and IDE
integrations and, by extension, to the tremendous adoption rate
of Subversion itself.</para>
+-->
+ <para>Auch der Client selber unterstreicht die Vorteile der
+ Modularität beim Entwurf von Subversion. Die meisten Funktionen,
+ die für den Entwurf eines Subversion-Clients benötigt werden,
+ sind in der Bibliothek <filename>libsvn_client</filename>
+ vorhanden (siehe <xref
+ linkend="svn.developer.layerlib.client"/>). Obwohl das
+ Subversion-Paket lediglich das Kommandozeilenprogramm
+ <command>svn</command> mitbringt, stellen mehrere Programme von
+ Drittanbietern verschiedene Spielarten graphischer
+ Benutzeroberflächen zur Verfügung, die die gleichen APIs wie der
+ Standard-Kommandozeilen-Client verwenden. Diese Art der
+ Modularität hat eine große Rolle bei der Verbreitung verfügbarer
+ Subversion-Clients sowie Integrationen in Entwicklungsumgebungen
+ gespielt und durch Erweiterungen zur enormen Akzeptanzrate von
+ Subversion selbst beigetragen.</para>
<!-- ===============================================================
-->
<sect2 id="svn.developer.layerlib.repos">
More information about the svnbook-dev
mailing list