[prev in list] [next in list] [prev in thread] [next in thread]
List: subversion-cvs
Subject: svn commit: r10107 - trunk/doc/translations/german/book
From: gerhardoettl () tigris ! org
Date: 2004-06-30 9:21:46
Message-ID: 200406300921.i5U9Lkw20909 () morbius ! ch ! collab ! net
[Download RAW message or body]
Author: gerhardoettl
Date: Wed Jun 30 04:21:38 2004
New Revision: 10107
Modified:
trunk/doc/translations/german/book/ch08.xml
trunk/doc/translations/german/book/ch09.xml
Log:
initial translation of ch09.xml and ch08.xml
* doc/translations/german/book/ch09.xml
* doc/translations/german/book/ch08.xml
Modified: trunk/doc/translations/german/book/ch08.xml
Url: http://svn.collab.net/viewcvs/svn/trunk/doc/translations/german/book/ch08.xml?vie \
w=diff&rev=10107&p1=trunk/doc/translations/german/book/ch08.xml&r1=10106&p2=trunk/doc/translations/german/book/ch08.xml&r2=10107
==============================================================================
--- trunk/doc/translations/german/book/ch08.xml (original)
+++ trunk/doc/translations/german/book/ch08.xml Wed Jun 30 04:21:38 2004
@@ -1,27 +1,28 @@
<chapter id="svn-ch-8">
- <title>Developer Information</title>
+ <title>Information für EntwicklerInnen</title>
- <simplesect id="svn-ch-8-sect-0">
- <para>Subversion is an open-source software project developed
- under an Apache-style software license. The project is
- financially backed by CollabNet, Inc., a California-based
- software development company. The community that has formed
- around the development of Subversion always welcomes new members
- who can donate their time and attention to the project.
- Volunteers are encouraged to assist in any way they can, whether
- that means finding and diagnosing bugs, refining existing source
- code, or fleshing out whole new features.</para>
+ <simplesect id="svn-ch-8-sect-0"> <para>Subversion ist ein
+ Open-Source Softwareprojekt, welches unter einer Lizenz, die der
+ von Apache ähnlich ist, entwickelt wird. Das Projekt wird
+ finanziell von CollabNet, Inc., einer Softwarefirma mit Sitz in
+ Kalifornien getragen. Neue Mitglieder, die ihre Zeit und
+ Aufmerksamkeit dem Projekt widmen können sind in der Gemeinschaft,
+ die sich um die Entwicklung von Subversion gebildet hat gerne
+ willkommen. Freiwillige sind aufgerufen das Projekt entsprechend
+ ihren Möglichkeiten zu unterstützen. Das kann heissen
+ Programmfehler zu finden und zu melden, bestehenden Code zu
+ verbessern oder komplett neue Funktionen zu programmieren.</para>
- <para>This chapter is for those who wish to assist in the
- continued evolution of Subversion by actually getting their
- hands dirty with the source code. We will cover some of the
- software's more intimate details, the kind of technical
- nitty-gritty that those developing Subversion itself—or
- writing entirely new tools based on the Subversion
- libraries—should be aware of. If you don't foresee
- yourself participating with the software at such a level, feel
- free to skip this chapter with confidence that your experience
- as a Subversion user will not be affected.</para>
+ <para>Dieses Kapitel ist für Personen, welche die kontinuierliche
+ Weiterentwicklung dadurch unterstützen, dass sie Hand an den
+ Sourcecode legen. Wir werden einige Internas der Software
+ betrachten, sehr spezifische technische Details, die von
+ denjenigen beachtet werden sollen, die Subversion selbst —
+ oder Werkzeuge, die auf den Subversion Bibliotheken basieren
+ — entwickeln. Wenn sie nicht beabsichtigen an der
+ Software auf einer solchen Ebene teilzuhaben, dann können sie
+ dieses Kapitel überspringen, ohne Dinge zu versäumen, die sie
+ als AnwenderIn wissen müssten.</para>
</simplesect>
@@ -29,325 +30,343 @@
<!-- *** SECTION 1: LAYERED LIBRARY DESIGN *** -->
<!-- ******************************************************************* -->
<sect1 id="svn-ch-8-sect-1">
- <title>Layered Library Design</title>
+ <title>Ebenenmodell (Schichtenmodell) der Bibliotheken</title>
- <para>Subversion has a modular design, implemented as a collection
- of C libraries. Each library has a well-defined purpose and
- interface, and most modules are said to exist in one of three
- main layers—the Repository Layer, the Repository Access
- (RA) Layer, or the Client Layer. We will examine these layers
- shortly, but first, see our brief inventory of Subversion's
- libraries in <xref linkend="svn-ch-8-table-1"/>. For the sake
- of consistency, we will refer to the libraries by their
- extensionless Unix library names (e.g.: libsvn_fs, libsvn_wc,
- mod_dav_svn).</para>
+ <para>Subversion hat ein modulares Design, welches als Sammlung
+ von C Bibliotheken (libraries) umgesetzt wird. Jede Bibliothek
+ hat eine genau definierte Aufgabe und Schnittstelle (interface)
+ und die meisten Module existieren in einer von drei Hauptebenen
+ — Projektarchiv-, Archivzugriff- (AZ) oder Client-Ebene.
+ Wir werden diese Ebenen gleich näher betrachten, aber zuerst
+ wollen wir einen Blick auf die Auflistung der Bibliotheken in
+ <xref linkend="svn-ch-8-table-1"/> werfen. Der Einheitlichkeit
+ halber werden wir für die Bibliotheken die Namen unter Unix
+ — ohne Dateierweiterung — verwenden (z.B. libsvn_fs,
+ libsvn_wc, mod_dav_svn).</para>
<table id="svn-ch-8-table-1">
- <title>A Brief Inventory of the Subversion Libraries</title>
+ <title>Eine kurze Auflistung der Subversion Bibliotheken</title>
<tgroup cols="2">
<thead>
<row>
- <entry>Library</entry>
- <entry>Description</entry>
+ <entry>Bibliothek</entry>
+ <entry>Beschreibung</entry>
</row>
</thead>
<tbody>
<row>
<entry>libsvn_client</entry>
- <entry>Primary interface for client programs</entry>
+ <entry>Hauptsächliche Schnittstelle für Client Programme</entry>
</row>
<row>
<entry>libsvn_delta</entry>
- <entry>Tree and text differencing routines</entry>
+ <entry>Ermittelt Unterschiede in Baumstruktur oder Text</entry>
</row>
<row>
<entry>libsvn_fs</entry>
- <entry>The Subversion filesystem library</entry>
+ <entry>Bibliothek für das Dateisystem im Projektarchiv</entry>
</row>
<row>
<entry>libsvn_ra</entry>
- <entry>Repository Access commons and module loader</entry>
+ <entry>Allgemeine Routinen für den Archivzugriff und zum Laden der AZ \
Module</entry> </row>
<row>
<entry>libsvn_ra_dav</entry>
- <entry>The WebDAV Repository Access module</entry>
+ <entry>Modul für den Archivzugriff über WebDAV</entry>
</row>
<row>
<entry>libsvn_ra_local</entry>
- <entry>The local Repository Access module</entry>
+ <entry>Modul für den lokalen Archivzugriff</entry>
</row>
<row>
<entry>libsvn_ra_svn</entry>
- <entry>A custom protocol Repository Access module</entry>
+ <entry>Modul für den Archivzugriff über ein eigenes Protokoll</entry>
</row>
<row>
<entry>libsvn_repos</entry>
- <entry>Repository interface</entry>
+ <entry>Schnittstelle zum Projektarchiv</entry>
</row>
<row>
<entry>libsvn_subr</entry>
- <entry>Miscellaneous helpful subroutines</entry>
+ <entry>Diverse hilfreiche Subroutinen</entry>
</row>
<row>
<entry>libsvn_wc</entry>
- <entry>The working copy management library</entry>
+ <entry>Routinen für die Verwaltung der Arbeitskopie</entry>
</row>
<row>
<entry>mod_authz_svn</entry>
- <entry>Apache authorization module for Subversion
- repositories access via WebDAV.</entry>
+ <entry>Modul für Apache zur Authenitifizierung beim
+ Archivzugriff über WebDAV.</entry>
</row>
<row>
<entry>mod_dav_svn</entry>
- <entry>Apache module for mapping WebDAV operations to
- Subversion ones</entry>
+ <entry>Modul für Apache zur Übersetzung von WebDAV Operationen auf
+ solche für Subversion</entry>
</row>
</tbody>
</tgroup>
</table>
- <para>The fact that the word <quote>miscellaneous</quote> only
- appears once in <xref linkend="svn-ch-8-table-1"/> is a good
- sign. The Subversion development team is serious about making
- sure that functionality lives in the right layer and libraries.
- Perhaps the greatest advantage of the modular design is its lack
- of complexity from a developer's point of view. As a developer,
- 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>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,
- this happens within Subversion already. The libsvn_ra_dav,
- libsvn_ra_local, and libsvn_ra_svn all implement the same
- interface. And all three communicate with the Repository
- Layer—libsvn_ra_dav and libsvn_ra_svn do so across a
- network, and libsvn_ra_local connects to it directly.</para>
-
- <para>The client itself also highlights modularity in the
- Subversion design. While Subversion currently comes with only a
- command-line client program, there are already a few other
- programs being developed by third parties to act as GUIs for
- Subversion. Again, these GUIs use the same APIs that the stock
- command-line client does. Subversion's libsvn_client library is
- the one-stop shop for most of the functionality necessary for
- designing a working Subversion client (see <xref
+ <para>Der Umstand, dass das Wort <quote>diverse</quote> nur einmal
+ in <xref linkend="svn-ch-8-table-1"/> vorkommt ist ein gutes
+ Zeichen. Das Entwicklungsteam von Subversion ist sehr darauf
+ bedacht, dass die einzelnen Funktionalitäten der richtigen Ebene
+ und der richtigen Bibliothek zugeordnete werden. Möglicherweise
+ ist die fehlende Komplexheit aus der Sicht der EntwicklerInnen
+ der grösste Vorteil des modularen Designs. Als EntwicklerIn
+ kann schnell eine Art <quote>Übersichtskarte</quote> erstellt
+ werden, die ein punktgenaues Auffinden einer bestimmten
+ Funktionalität relativ einfach macht.</para>
+
+ <para>Ein anderer Vorteil des modularen Aufbaues ist die
+ Möglichkeit ein Modul mit einer komplett neuen Bibliothek zu
+ ersetzen, welche die gleiche API verwendet, ohne den Rest der
+ Codebasis zu berühren. In einigen Fällen ist dies bei
+ Subversion bereits geschehen. Die Module libsvn_ra_dav,
+ libsvn_ra_local und libsvn_ra_svn implementieren die gleiche
+ Schnittstelle. Alle drei kommunizieren mit der
+ Projektarchiv-Ebene — libsvn_ra_dav und libsvn_ra_svn über
+ das Netzwerk, libsvn_ra_local lokal.</para>
+
+ <para>Der Client seinerseits hebt den modularen Aufbau hervor.
+ Während Subversion derzeit nur eine Kommandozeilen Clienten
+ besitzt, wurden von DrittanbieterInnen bereits einige Programme
+ entwickelt, die als GUIs (Grafisches User Interface) für
+ Subversion eingesetzt werden können. Diese GUIs verwenden die
+ gleichen APIs wie der einfache Kommandozeilen Client. Die
+ libsvn_client Bibliothek ist die zentrale Anlaufstelle für die
+ meisten Funktionen, die benötigt werden um einen
+ funktionierenden Subversion Client zu entwerfen (siehe <xref
linkend="svn-ch-8-sect-1.3"/>).</para>
<!-- ***************************************************************** -->
<sect2 id="svn-ch-8-sect-1.1">
- <title>Repository Layer</title>
+ <title>Projektarchiv-Ebene</title>
- <para>When referring to Subversion's Repository Layer, we're
- generally talking about two libraries—the repository
- library, and the filesystem library. These libraries provide
- the storage and reporting mechanisms for the various revisions
- of your version-controlled data. This layer is connected to
- the Client Layer via the Repository Access Layer, and is, from
- the perspective of the Subversion user, the stuff at the
- <quote>other end of the line.</quote></para>
-
- <para>The Subversion Filesystem is accessed via the libsvn_fs
- API, and is not a kernel-level filesystem that one would
- install in an operating system (like the Linux ext2 or NTFS),
- but a virtual filesystem. Rather than storing
- <quote>files</quote> and <quote>directories</quote> as real
- files and directories (as in, the kind you can navigate
- through using your favorite shell program), it uses a database
- system for its back-end storage mechanism. Currently, the
- database system in use is Berkeley DB.
- <footnote>
- <para>The choice of Berkeley DB brought several automatic
- features that Subversion needed, such as data integrity,
- atomic writes, recoverability, and hot backups.</para>
+ <para>Wenn wir auf die Projektarchiv-Ebene verweisen, sprechen
+ wir über zwei Bibliotheken — die Projektarchiv- und die
+ Dateisystem-Bibliothek. Diese stellen die Speicher- und
+ Berichtsfunktionen für die verschiedenen Daten unter
+ Versionskontrolle zur Verfügung. Diese Ebene ist mit der
+ Client-Ebene über die Archivzugriffs-Ebene verbunden und ist
+ aus der Sicht der AnwenderInnen das Ding am <quote>anderen
+ Ende der Leitung.</quote></para>
+
+ <para>Der Zugriff auf das Subversion Dateisystem erfolgt über
+ die libsvn_fs API. Es ist kein kernel-level Dateisystem
+ filesystem das im Betriebssystem installiert werden muss (wie
+ z.B. Linux ext2 oder NTFS), sondern ein virtuelles
+ Dateisystem. Anders als beim Speichern von
+ <quote>Dateien</quote> und <quote>Verzeichnissen</quote> als
+ wirkliche Dateien und Verzeichnisse (das ist in der Art, dass
+ diese mit allen Programmen verwendet werden können), wird ein
+ Datenbanksystem zur Speicherung verwendet. Derzeit ist als
+ Datenbanksystem die Berkeley DB im Einsatz.
+ <footnote> <para>Die Berkeley DB brachte einige elementare
+ Eigenschaften, die Subversion benötigt, wie Daten
+ Integrität, atomare Schreiboperationen, Wiederherstellung
+ und Sicherung im laufenden Betrieb.</para>
</footnote>
- However, there has been considerable interest by the
- development community in giving future releases of Subversion
- the ability to use other back-end database systems, perhaps
- through a mechanism such as Open Database Connectivity
- (ODBC).</para>
-
- <para>The filesystem API exported by libsvn_fs contains the
- kinds of functionality you would expect from any other
- filesystem API: you can create and remove files and
- directories, copy and move them around, modify file contents,
- and so on. It also has features that are not quite as common,
- such as the ability to add, modify, and remove metadata
- (<quote>properties</quote>) on each file or directory.
- Furthermore, the Subversion Filesystem is a versioning
- filesystem, which means that as you make changes to your
- directory tree, Subversion remembers what your tree looked
- like before those changes. And before the previous changes.
- And the previous ones. And so on, all the way back through
- versioning time to (and just beyond) the moment you first
- started adding things to the filesystem.</para>
-
- <para>All the modifications you make to your tree are done
- within the context of a Subversion transaction. The following
- is a simplified general routine for modifying your
- filesystem:</para>
+ Trotzdem gab es beträchtliches Interesse der
+ Entwicklungsgemeinschaft in zukünftigen Versionen die
+ Möglichkeit vorzusehen andere Datenbanksysteme zu benutzen,
+ möglicherweise über einen Mechanismus wie Open Database
+ Connectivity (ODBC).</para>
+
+ <para>Die von libsvn_fs zur Verfügung gestellte Dateisystem API
+ enthält die Funktionalität, die sie von jeder anderen
+ Dateisystem API erwarten würden: Sie können Dateien und
+ Verzeichnisse erzeugen, entfernen, kopieren und verschieben,
+ den Dateiinhalt verändern usw. Das Dateisystem hat auch
+ Fähigkeiten die nicht so üblich sind, wie die Möglichkeit
+ Metadaten (<quote>Eigenschaften</quote>) für jede Datei oder
+ jedes Verzeichnis hinzuzufügen, zu ändern und zu entfernen.
+ Weiters ist das Dateisystem von Subversion ein
+ versionserzeugendes, was bedeutet, dass sich Subversion bei
+ Änderungen im Verzeichnisbaum den Zustand vor der Änderung
+ merkt. Und alle Änderungen, die davorliegen ebenso —
+ zurück durch alle Versionen bis zum Beginn der
+ Versionskontrolle (und sogar darüber hinaus *TODO: hab ich das
+ richtig verstanden? :TODO*).</para>
+
+ <para>Alle Änderungen im Verzeichnisbaum werden im Zusammenhang
+ mit einer Subversion Transaktion durchgeführt. Im Folgenden
+ eine einfache generelle Routine zur Änderung des
+ Dateisystems:</para>
<orderedlist>
<listitem>
- <para>Begin a Subversion transaction.</para>
+ <para>Beginn einer Subversion Transaktion.</para>
</listitem>
<listitem>
- <para>Make your changes (adds, deletes, property
- modifications, etc.).</para>
+ <para>Änderungen durchführen (hinzufügen, löschen,
+ Eigenschaften ändern, etc.).</para>
</listitem>
<listitem>
- <para>Commit your transaction.</para>
+ <para>Transaktion übertragen.</para>
</listitem>
</orderedlist>
- <para>Once you have committed your transaction, your filesystem
- modifications are permanently stored as historical artifacts.
- Each of these cycles generates a single new revision of your
- tree, and each revision is forever accessible as an immutable
- snapshot of <quote>the way things were.</quote></para>
+ <para>Sobald die Transaktion übertragen wurde, werden die
+ Änderungen am Dateisystem dauerhaft als geschichtliches
+ Ereignis gespeichert. Jeder dieser Durchgänge erzeugt eine
+ eigene neue Revision und jede Revision ist als unveränderliche
+ Momentaufnahme <quote>so wie die Dinge waren</quote> jederzeit
+ verfügbar.</para>
<sidebar>
- <title>The Transaction Distraction</title>
+ <title>Der Transaktionsbegriff</title>
- <para>The notion of a Subversion transaction, especially given
- its close proximity to the database code in libsvn_fs, can
- become easily confused with the transaction support provided
- by the underlying database itself. Both types of
- transaction exist to provide atomicity and isolation. In
- other words, transactions give you the ability to perform a
- set of actions in an <quote>all or nothing</quote>
- fashion—either all the actions in the set complete
- with success, or they all get treated as if
- <emphasis>none</emphasis> of them ever happened—and in
- a way that does not interfere with other processes acting on
- the data.</para>
-
- <para>Database transactions generally encompass small
- operations related specifically to the modification of data
- in the database itself (such as changing the contents of a
- table row). Subversion transactions are larger in scope,
- encompassing higher-level operations like making
- modifications to a set of files and directories which are
- intended to be stored as the next revision of the filesystem
- tree. If that isn't confusing enough, consider this:
- Subversion uses a database transaction during the creation
- of a Subversion transaction (so that if the creation of
- Subversion transaction fails, the database will look as if
- we had never attempted that creation in the first
- place)!</para>
-
- <para>Fortunately for users of the filesystem API, the
- transaction support provided by the database system itself
- is hidden almost entirely from view (as should be expected
- from a properly modularized library scheme). It is only
- when you start digging into the implementation of the
- filesystem itself that such things become visible (or
- interesting).</para>
+ <para>Die Bedeutung einer Subversion Transaktion, besonders im
+ Zusammenhang mit dem Datenbank Code in libsvn_fs kann leicht
+ verwechselt werden mit einer Transaktion, wie sie vom
+ darunterliegenden Datenbanksystem verwendet wird. Beide
+ Arten von Transaktionen existieren um die
+ Zusammengehörigkeit und Abgeschlossenheit eines Vorganges
+ auszudrücken. Transaktionen bieten die Möglichkeit um
+ mehrere Aktionen in einem <quote>alles oder nichts</quote>
+ Prozess durchzuführen — entweder alle alle Aktionen
+ werden erfolgreich beendet, oder sie werden so behandelt,
+ als wenn <emphasis>keine</emphasis> einzige Aktion erledigt
+ worden wäre — und das in einer Art und Weise, dass
+ keine anderen Prozesse beeinflusst werden, die gleichzeitig
+ mit den Daten interagieren.</para>
+
+ <para>Datenbanktransaktionen umfassen generell kleine
+ Operationen, die spezifisch für die Änderung von Daten in
+ der Datenbank selbst sind (wie das Ändern des Inhaltes in
+ einer Datenzelle). Subversions Transaktionen haben einen
+ grösseren Umfang, umfassen Operationen auf höherer Ebene wie
+ die Änderung einer Gruppe von Dateien und Verzeichnissen,
+ für die geplant ist, dass diese als nächste Revision des
+ Verzeichnisbaumes gespeichert werden sollen. Als ob das
+ nicht verwirrend genug wäre, wird während der Erstellung
+ einer Subversion Transaktion eine Datenbank Transaktion
+ benutzt (sodass die Datenbank aussieht, als ob wir dies gar
+ nicht versucht hätten falls die Erstellung
+ fehlschlägt)!</para>
+
+ <para>Glücklicherweise ist für die BenutzerInnen der
+ Dateisystem API, der Transaktionsmechanismus der Datenbank
+ weitestgehend verborgen (wie es von einem sauber
+ mudularisiertem Bibliotheksschema erwartet werden darf). Es
+ ist nur sichtbar, wenn sie die Umsetzung des Dateisystems
+ selbst untersuchen oder bearbeiten wollen.</para>
</sidebar>
- <para>Most of the functionality provided by the filesystem
- interface comes as an action that occurs on a filesystem path.
- That is, from outside of the filesystem, the primary mechanism
- for describing and accessing the individual revisions of files
- and directories comes through the use of path strings like
- <filename>/foo/bar</filename>, just as if you were addressing
- files and directories through your favorite shell program.
- You add new files and directories by passing their paths-to-be
- to the right API functions. You query for information about
- them by the same mechanism.</para>
-
- <para>Unlike most filesystems, though, a path alone is not
- enough information to identify a file or directory in
- Subversion. Think of a directory tree as a two-dimensional
- system, where a node's siblings represent a sort of
- left-and-right motion, and descending into subdirectories a
- downward motion. <xref linkend="svn-ch-8-dia-1"/> shows
- a typical representation of a tree as exactly that.</para>
+ <para>Die meisten Funktionalitäten, die von der Schnittstelle
+ zum Dateisystem angeboten werden sind Aktionen, die auf einen
+ Dateisystem Pfad angewendet werden. Der primäre Mechanismus
+ um von aussen eine bestimmte Revision von Dateien und
+ Verzeichnissen zu beschreiben geschieht durch Angaben wie
+ <filename>/foo/bar</filename>, genauso, wie wenn sie Dateien
+ oder Verzeichnisse mit ihrem bevorzugtem Shell-Programm
+ verwenden. Neue Dateien und Verzeichnisse werden hinzugefügt
+ indem ihr gewünschter Pfad im Verzeichnisbaum an die richtigen
+ API Funktionen übergeben wird. Sie finden Informationen
+ darüber bei den entsprechenden Mechanismen.</para>
+
+ <para>Im Unterschied zu den meisten Dateisystemen ist der Pfad
+ alleine nicht genug um eine Datei oder Verzeichnis in
+ Subversion zu identifizieren. Stellen sie sich ein
+ Verzeichnis als zweidimensionales System vor, in dem die
+ Knoten eine Art rechts-links Reihenfolge haben und
+ Unterverzeichnisse durch eine Bewegung nach unten dargestellt
+ werden. <xref linkend="svn-ch-8-dia-1"/> zeigt eine typische
+ Darstellung davon.</para>
<figure id="svn-ch-8-dia-1">
- <title>Files and directories in two dimensions</title>
+ <title>Zweidimensionale Darstellung von Dateien und Verzeichnissen</title>
<graphic fileref="images/ch08dia1.png"/>
</figure>
- <para>Of course, the Subversion filesystem has a nifty third
- dimension that most filesystems do not have—Time!
+ <para>Das Dateisystem von Subversion aber hat eine dritte
+ Dimension, welche die meisten Dateisysteme nicht haben — Zeit!
<footnote>
- <para>We understand that this may come as a shock to sci-fi
- fans who have long been under the impression that Time was
- actually the <emphasis>fourth</emphasis> dimension, and we
- apologize for any emotional trauma induced by our
- assertion of a different theory.</para>
+ <para>Wir verstehen, dass dies für Sci-Fi Fans, die lange
+ geglaubt haben, dass Zeit die <emphasis>vierte</emphasis>
+ Dimension ist, ein Schock sein muss und wir entschuldigen
+ uns für die Traumata die durch die Einführung einer neuen
+ Theorie entstehen können.</para>
</footnote>
- In the filesystem interface, nearly every function that has a
- <parameter>path</parameter> argument also expects a
- <parameter>root</parameter> argument. This
- <structname>svn_fs_root_t</structname> argument describes
- either a revision or a Subversion transaction (which is
- usually just a revision-to-be), and provides that
- third-dimensional context needed to understand the difference
- between <filename>/foo/bar</filename> in revision 32, and the
- same path as it exists in revision 98. <xref
- linkend="svn-ch-8-dia-2"/> shows revision history as an
- added dimension to the Subversion filesystem universe.</para>
+ In der Dateisystem Schnittstelle hat beinahe jede Funktion ein
+ <parameter>Pfad</parameter> Argument und erwartet auch ein
+ <parameter>Basis</parameter> Argument (root). Dieses
+ <structname>svn_fs_root_t</structname> Argument beschreibt
+ eintweder eine Revision oder eine Subversion Transaktion (die
+ üblicherweise eine zukünftige Revision verkörpert) und
+ benötigt dieses dreidimensionale Modell um den Unterschied
+ zwischen <filename>/foo/bar</filename> in Revision 32 und dem
+ gleichen Pfad in Revision 98 verstehen zu können. <xref
+ linkend="svn-ch-8-dia-2"/> zeigt die Revisions Historie als
+ eine zusätzliche Dimension im Subversions Dateisystem
+ Universium.</para>
<figure id="svn-ch-8-dia-2">
- <title>Revisioning time—the third dimension!</title>
+ <title>Revisionszeit — die dritte Dimension!</title>
<graphic fileref="images/ch08dia2.png"/>
</figure>
- <!-- Perhaps dig into the DAG/tree layers a bit here, talking
- about the hard-link design and how that affords such
- pleasures as cheap copies. If "bubble-up" isn't covered
- twelve other times in the book, maybe give it a go here. -->
-
- <para>As we mentioned earlier, the libsvn_fs API looks and feels
- like any other filesystem, except that it has this wonderful
- versioning capability. It was designed to be usable by any
- program interested in a versioning filesystem. Not
- coincidentally, Subversion itself is interested in that
- functionality. But while the filesystem API should be
- sufficient for basic file and directory versioning support,
- Subversion wants more—and that is where libsvn_repos
- comes in.</para>
-
- <para>The Subversion repository library (libsvn_repos) is
- basically a wrapper library around the filesystem
- functionality. This library is responsible for creating the
- repository layout, making sure that the underlying filesystem
- is initialized, and so on. Libsvn_repos also implements a set
- of hooks—scripts that are executed by the repository
- code when certain actions take place. These scripts are
- useful for notification, authorization, or whatever purposes
- the repository administrator desires. This type of
- functionality, and other utility provided by the repository
- library, is not strictly related to implementing a versioning
- filesystem, which is why it was placed into its own
- library.</para>
+ <!-- Hier könnte ein bischen über DAG/tree layers ins Detail
+ gegangen werden, über das hard-link Design und wie das
+ solche Annehmlichkeiten wie billige Kopien (cheap copies)
+ beeinflusst. Wenn "bubble-up" nicht an anderen Stellen in
+ diesem Buch behandelt wird, dann wäre vielleicht hier ein
+ guter Platz dafür. -->
+
+ <para>Wie wir früher erwähnten gleicht die libsvn_fs API anderen
+ Dateisystemen, mit der Ausnahme, dass sie diese herrliche
+ Fähigkeit der Versionierung hat. Sie wurde für den Gebrauch
+ mit jedem Programm, das Bedarf an Versionskontrolle hat,
+ entwickelt. Nicht zufällig ist Subversion selbst an dieser
+ Funktionalität interessiert. Aber während die Dateisystem API
+ ausreichen sollte um eine Basisunterstützung für die
+ Versionskontrolle von Dateien und Verzeichnissen zu bieten,
+ will Subversion mehr — und hier kommt libsvn_repos ins
+ Spiel.</para>
+
+ <para>Die Subversion Projektarchiv Bibliothek (libsvn_repos) ist
+ grundsätzlich eine Kapsel Bibliothek (wrapper library) um die
+ Dateisystem Funktionalität. Diese Bibliothek ist zuständig
+ für die Erstellung des Projektarchives, stellt sicher, dass
+ das darunterliegende Dateisystem initialisiert wird,
+ usw. Libsvn_repos implementiert eine Reihe von Haken (hooks)
+ — Skripte, die vom Projektarchiv Code ausgeführt werden,
+ wenn bestimmte Aktionen stattfinden. Diese Skripte dienen zur
+ Benachrichtigung, Authentifizierung oder was immer die
+ Administration des Projektarchives wünscht. Diese Art der
+ Funktionalität und andere Hilfsroutinen, die von der
+ Projektarchiv Bibliothek angeboten werden sind für eine
+ Versionskontrolle nicht unbedingt erforderlich, weshalb diese
+ in eine eigene Bibliothek gelegt wurden.</para>
- <para>Developers who wish to use the libsvn_repos API will find
- that it is not a complete wrapper around the filesystem
- interface. That is, only certain major events in the general
- cycle of filesystem activity are wrapped by the repository
- interface. Some of these include the creation and commit of
- Subversion transactions, and the modification of revision
- properties. These particular events are wrapped by the
- repository layer because they have hooks associated with them.
- In the future, other events may be wrapped by the repository
- API. All of the remaining filesystem interaction will
- continue to occur directly with libsvn_fs API, though.</para>
-
- <para>For example, here is a code segment that illustrates the
- use of both the repository and filesystem interfaces to create
- a new revision of the filesystem in which a directory is
- added. Note that in this example (and all others throughout
- this book), the <function>SVN_ERR</function> macro simply
- checks for a non-successful error return from the function it
- wraps, and returns that error if it exists.</para>
+ <para>EntwicklerInnen, welche die libsvn_repos API benutzen
+ wollen, werden bemerken, dass diese keine komplette Kapsel
+ (wrapper) um die Dateisystem Schnittstelle darstellt. Nur
+ gewisse Hauptereignisse der Dateisystem Aktivitäten werden von
+ der Projektarchiv Schnittstelle abgedeckt. Einige davon
+ beinhalten die Erstellung und Übertragung von Subversion
+ Transaktionen und die Änderung von Versionseigenschaften.
+ Diese Ereignisse wurden deshalb ausgewählt, weil Haken (hooks)
+ damit verbunden sind. In Zukunft werden vielleicht auch andere
+ Ereignisse von der Projektarchiv Schnittstelle abgedeckt
+ werden. Die restliche Interaktion mit dem Dateisystem wird
+ weiterhin direkt über die libsvn_fs API durchgeführt.</para>
+
+ <para>Als Beispiel ein Codestück, welches die Verwendung von
+ beiden, der Projektarchiv- und der Dateisystem-Schnittstelle
+ zeigt um eine neue Revision des Dateisystems zu erstellen, in
+ dem ein Verzeichnis hinzugefügt wird. Beachten sie, dass in
+ diesem Beispiel (und allen anderen im diesem Buch) das
+ <function>SVN_ERR</function> Makro einfach die Rückgabe der
+ eingekapselten (wrapped) Funktion auf nicht-erfolgreich Fehler
+ überprüft und dann selbst diesen Fehler weitergibt, falls
+ einer aufgetreten ist.</para>
<example id="svn-ch-8-sect-1.1-ex-1">
- <title>Using the Repository Layer</title>
+ <title>Benutzung der Projektarchiv Bibliothek</title>
<programlisting>
/* Create a new directory at the path NEW_DIRECTORY in the Subversion
@@ -426,91 +445,95 @@
</programlisting>
</example>
- <para>In the previous code segment, calls were made to both the
- repository and filesystem interfaces. We could just as easily
- have committed the transaction using
- <function>svn_fs_commit_txn</function>. But the filesystem
- API knows nothing about the repository library's hook
- mechanism. If you want your Subversion repository to
- automatically perform some set of non-Subversion tasks every
- time you commit a transaction (like, for example, sending an
- email that describes all the changes made in that transaction
- to your developer mailing list), you need to use the
- libsvn_repos-wrapped version of that
- function—<function>svn_repos_fs_commit_txn</function>.
- This function will actually first run the
- <literal>pre-commit</literal> hook script if one exists, then
- commit the transaction, and finally will run a
- <literal>post-commit</literal> hook script. The hooks provide
- a special kind of reporting mechanism that does not really
- belong in the core filesystem library itself. (For more
- information regarding Subversion's repository hooks, see <xref
+ <para>Im vorangegangenen Codestück werden Aufrufe sowohl mit der
+ Projektarchiv- als auch der Dateisystem-Schnittstelle
+ durchgeführt. Wir hätten die Übertragung ebenso mit
+ <function>svn_fs_commit_txn</function> durchführen können,
+ aber die Dateisystem API weiss nichts über den
+ Hakenmechanismus aus der Projektarchiv Bibliothek Wenn das
+ Subversion Projektarchiv automatisch bei jeder Übertragung
+ einige Aktionen ausführen soll, die nicht in den Bereich von
+ Subversion fallen (z.B. eine Email, welche die Änderungen
+ beschreibt an die Mailingliste der EntwicklerInnen senden),
+ dann müssen sie die Version
+ <function>svn_repos_fs_commit_txn</function> aus der
+ Projektarchiv Bibliothek nehmen. Diese Funktion wird derzeit
+ zuerst den <literal>pre-commit</literal> Haken (hook script)
+ ausführen wenn einer existiert, dann die Transaktion
+ übertragen und zum Schluss den <literal>post-commit</literal>
+ Haken (hook script) ausführen. Die Haken bieten einen
+ speziellen Berichtsmechanismus, der nicht wirklich zu den
+ Kernaufgaben der Dateisystem Bibliothek gehören. (Für weitere
+ Information zum Hakensystem von Subversion siehe <xref
linkend="svn-ch-5-sect-2.1" />.)</para>
- <para>The hook mechanism requirement is but one of the reasons
- for the abstraction of a separate repository library from the
- rest of the filesystem code. The libsvn_repos API provides
- several other important utilities to Subversion. These
- include the abilities to:</para>
+ <para>Der Haken (hook) Mechanismus ist der Grund für eine eigene
+ Projektarchiv Bibliothek neben dem Rest vom Dateisystem Code.
+ Die libsvn_repos API bietet verschiedene andere wichtige
+ Hilfsroutinen für Subversion. Dies inkludiert:</para>
<orderedlist>
<listitem>
- <para>create, open, destroy, and perform recovery steps on a
- Subversion repository and the filesystem included in that
- repository.</para>
+ <para>Erzeugen, Öffnen, Zerstören und Wiederherstellen von
+ Projektarchiven und dem Dateisystem in einem solchen
+ Projektarchiv.</para>
</listitem>
<listitem>
- <para>describe the differences between two filesystem
- trees.</para>
+ <para>Beschreiben der Unterschiede zwischen zwei
+ Dateisystem Bäumen.</para>
</listitem>
<listitem>
- <para>query for the commit log messages
- associated with all (or some) of the revisions in which a
- set of files was modified in the filesystem.</para>
+ <para>Abfragen der Log-Nachrichten, die mit allen (oder
+ einigen) Revisionen in Zusammenhang stehen, in denen eine
+ Gruppe von Dateien im Dateisystem geändert wurde.</para>
</listitem>
<listitem>
- <para>generate a human-readable <quote>dump</quote> of the
- filesystem, a complete representation of the revisions in
- the filesystem.</para>
+ <para>Erzeugen eines menschenlesbaren <quote>dump</quote>
+ des Dateisystems, einer kompletten Darstellung der
+ Revisionen im Dateisystem.</para>
</listitem>
<listitem>
- <para>parse that dump format, loading the dumped revisions
- into a different Subversion repository.</para>
+ <para>Durchsuchen des dump Formats, Laden der Revisionen
+ von der dump Datei in ein anderes Subversion
+ Projektarchiv.</para>
</listitem>
</orderedlist>
- <para>As Subversion continues to evolve, the repository library
- will grow with the filesystem library to offer increased
- functionality and configurable option support.</para>
+ <para>Da sich Subversion weiterentwickelt wird die Projektarchiv
+ Bibliothek mit der Dateisystem Bibliothek wachsen um eine
+ erweiterte Funktionalität und konfigurierbare Einstellungen
+ anzubieten.</para>
</sect2>
<!-- ****************************************************************** -->
<sect2 id="svn-ch-8-sect-1.2">
- <title>Repository Access Layer</title>
+ <title>Archivzugriffs-Ebene</title>
- <para>If the Subversion Repository Layer is at <quote>the other
- end of the line</quote>, the Repository Access Layer is the
- line itself. Charged with marshalling data between the client
- libraries and the repository, this layer includes the
- libsvn_ra module loader library, the RA modules themselves
- (which currently includes libsvn_ra_dav, libsvn_ra_local, and
- libsvn_ra_svn), and any additional libraries needed by one or
- more of those RA modules, such as the mod_dav_svn Apache
- module with which libsvn_ra_dav communicates or
- libsvn_ra_svn's server, <command>svnserve</command>.</para>
-
- <para>Since Subversion uses URLs to identify its repository
- resources, the protocol portion of the URL schema (usually
- <literal>file:</literal>, <literal>http:</literal>,
- <literal>https:</literal>, or <literal>svn:</literal>) is used
- to determine which RA module will handle the communications.
- Each module registers a list of the protocols it knows how to
- <quote>speak</quote> so that the RA loader can, at runtime,
- determine which module to use for the task at hand. You can
- determine which RA modules are available to the Subversion
- command-line client, and what protocols they claim to support,
- by running <command>svn --version</command>:</para>
+ <para>Wenn die Projektarchiv-Ebene <quote>das andere Ende der
+ Leitung</quote> ist, dann ist die Ebene des Archivzugriffs
+ (AZ) die Leitung selbst. Beauftragt mit dem Verschub der
+ Daten zwischen den Client Bibliotheken und dem Projektarchiv
+ umfasst diese Ebene die libsvn_ra Bibliothek zum Laden der AZ
+ Module, die Archivzugriffs Module selbst (welche derzeit aus
+ libsvn_ra_dav, libsvn_ra_local und libsvn_ra_svn bestehen) und
+ alle zusätzlichen Bibliotheken, die von einem oder mehrerer
+ dieser Module benötigt werden, wie das mod_dav_svn Apache
+ Modul, mit dem libsvn_ra_dav kommuniziert oder
+ <command>svnserve</command> vom libsvn_ra_svn Server,.</para>
+
+ <para>Da Subversion URLs verwendet um das Projektarchiv zu
+ identifizieren, wird der Protokollteil des URL Schemas
+ (<literal>file:</literal>, <literal>http:</literal>,
+ <literal>https:</literal> oder <literal>svn:</literal>)
+ benutzt, um festzulegen, welches AZ Modul die Verbindung
+ durchführt. Jedes Modul registriert eine Liste von
+ Protokollen die es kennt und so kann der AZ Modullader zur
+ Laufzeit entscheiden, welches Modul zu verwenden ist, um die
+ anstehende Aufgabe zu erledigen. Sie können feststellen
+ welche AZ Module und Protokolle der Subversion Kommandozeilen
+ Client zur Verfügung stellt indem sie <command>svn
+ --version</command> aufrufen:</para>
<screen>
$ svn --version
@@ -533,259 +556,294 @@
</screen>
<sect3 id="svn-ch-8-sect-1.2.1">
- <title>RA-DAV (Repository Access Using HTTP/DAV)</title>
+ <title>Archivzugriff über HTTP/DAV (RA-DAV/AZ-DAV)</title>
- <para>The libsvn_ra_dav library is designed for use by clients
- that are being run on different machines than the servers
- with which they communicating, specifically machines reached
- using URLs that contain the <literal>http:</literal> or
- <literal>https:</literal> protocol portions. To understand
- how this module works, we should first mention a couple of
- other key components in this particular configuration of the
- Repository Access Layer—the powerful Apache HTTP
- Server, and the Neon HTTP/WebDAV client library.</para>
+ <para>Die libsvn_ra_dav Bibliothek ist für den Gebrauch durch
+ Clienten, die nicht auf derjenigen Maschine laufen auf der
+ das Projektarchiv liegt, entworfen. Die Clienten erreichen
+ die Maschine auf der das Projketarchiv liegt unter
+ Verwendung von URLs deren Protokollteil
+ <literal>http:</literal> oder <literal>https:</literal>
+ enthält. Um zu verstehen, wie diese Module arbeiten,
+ sollten wir zuerst einige andere Schlüsselkomponenten dieser
+ speziellen Konfiguration der Archivzugriffs-Ebene erwähnen
+ — den mächtigen Apache HTTP Server und die Neon
+ HTTP/WebDAV Clienten Bibliothek.</para>
- <para>Subversion's primary network server is the Apache HTTP
- Server. Apache is a time-tested, extensible open-source
- server process that is ready for serious use. It can
- sustain a high network load and runs on many platforms. The
- Apache server supports a number of different standard
- authentication protocols, and can be extended through the
- use of modules to support many others. It also supports
- optimizations like network pipelining and caching. By using
- Apache as a server, Subversion gets all of these features
- for free. And since most firewalls already allow HTTP
- traffic to pass through, sysadmins typically don't even have
- to change their firewall configurations to allow Subversion
- to work.</para>
+ <para>Der primäre Netzwerkserver für Subversion ist der Apache
+ HTTP Server. Apache ist ein lange erprobter, erweiterbarer
+ Open-Source Server der in vielen geschäftskritischen
+ Bereichen zum Einsatz kommt. Er verträgt eine massive
+ Netzwerkauslastung und läuft auf vielen Plattformen. Der
+ Apache Server untersützt eine Vielzahl von verschiedenen
+ Standard Authentifizierungs Protokollen und erlaubt die
+ Erweiterung durch die Verwendung von Modulen, die
+ zusätzliche Protokolle zur Verfügung stellen. Er erlaubt
+ auch Optimierungen wie wie Netzwerk Pipelining und Bufferung
+ (caching). Durch die Verwendung von Apache als Server
+ bekommt Subversion alle diese Fähigkeiten umsonst. Da die
+ meisten Firewalls HTTP Verkehr erlauben, ist im Normalfall
+ keine Änderung der Firewall Konfiguration erforderlich,
+ damit Subversion unbehindert arbeiten kann.</para>
- <para>Subversion uses HTTP and WebDAV (with DeltaV) to
- communicate with an Apache server. You can read more about
- this in the WebDAV section of this chapter, but in short,
- WebDAV and DeltaV are extensions to the standard HTTP 1.1
- protocol that enable sharing and versioning of files over
- the web. Apache 2.0 comes with mod_dav, an Apache module
- that understands the DAV extensions to HTTP. Subversion
- itself supplies mod_dav_svn, though, which is another Apache
- module that works in conjunction with (really, as a back-end
- to) mod_dav to provide Subversion's specific implementations
- of WebDAV and DeltaV.</para>
-
- <para>When communicating with a repository over HTTP, the RA
- loader library chooses libsvn_ra_dav as the proper access
- module. The Subversion client makes calls into the generic
- RA interface, and libsvn_ra_dav maps those calls (which
- embody rather large-scale Subversion actions) to a set of
- HTTP/WebDAV requests. Using the Neon library, libsvn_ra_dav
- transmits those requests to the Apache server. Apache
- receives these requests (exactly as it does generic HTTP
- requests that your web browser might make), notices that the
- requests are directed at a URL that is configured as a DAV
- location (using the <sgmltag>Location</sgmltag> directive in
- <filename>httpd.conf</filename>), and hands the request off
- to its own mod_dav module. When properly configured,
- mod_dav knows to use Subversion's mod_dav_svn for any
- filesystem-related needs, as opposed to the generic
- mod_dav_fs that comes with Apache. So ultimately, the
- client is communicating with mod_dav_svn, which binds
- directly to the Subversion Repository Layer.</para>
+ <para>Subversion verwendet HTTP und WebDAV (mit DeltaV) um mit
+ dem Apache Server zu kommunizieren. Im WebDAV Abschnitt in
+ diesem Kapitel können sie mehr darüber erfahren. Hier sei
+ nur gesagt, dass WebDAV und DeltaV Erweiterungen zum HTTP
+ 1.1 Standard Protokoll sind, die eine gemeinsame Nutzung von
+ Dateien bzw eine Versionskontrolle über das Internet
+ erlauben. Apache 2.0 bietet mod_dav, ein Apache Modul, das
+ die DAV Erweiturung zu HTTP versteht. Subversion selbst
+ stellt mod_dav_svn zur Verfügung. Man kann sich dieses als
+ ein eigenes Apache Modul vorstellen, das in Verbindung mit
+ (in Wirklichkeit als Back-End für) mod_dav arbeitet, um die
+ spezifische Umsetzung von WebDAV und DeltaV durch Subversion
+ zu unterstützen.</para>
+
+ <para>Wenn mit dem Projektarchiv über HTTP kommuniziert wird,
+ wählt die AZ Lader Bibliothek libsvn_ra_dav als das Zugriffs
+ Modul. Der Subversion Client macht seine Aufrufe über die
+ generische AZ Schnittstelle und libsvn_ra_dav setzt diese
+ Aufrufe (die Subversions Aktionen von grossem Umfang zur
+ Folge haben können) in eine Folge von HTTP/WebDAV Aufrufen
+ um. Durch die Verwendung der Neon Bibliothek übermittelt
+ libsvn_ra_dav die Aufrufe an den Apache Server. Apache
+ empfängt diese Anfragen (genauso wie allgemeine Anfragen
+ eines Webbrowsers zum Beispiel), erkennt, dass die Anfrage
+ auf eine URL verweist, die — durch die Verwendung der
+ <sgmltag>Location</sgmltag> Direktive in der
+ <filename>httpd.conf</filename> — als DAV Zuordnung
+ konfiguriert ist und übergibt die Anfrage das eigene mod_dav
+ Modul. Wenn korrekt konfiguriert, weiss mod_dav, dass es
+ mod_dav_svn von Subversion für alle dateisystemrelevanten
+ Aktionen verwenden soll anstatt des allgmeinen mod_dav_fs
+ Modules, das mit Apache ausgeliefert wird. So kommuniziert
+ der Client letztendlich mit mod_dav_svn, welches direkt mit
+ der Projektarchiv Ebene von Subversion in Verbindung
+ steht.</para>
- <para>That was a simplified description of the actual
- exchanges taking place, though. For example, the Subversion
- repository might be protected by Apache's authorization
- directives. This could result in initial attempts to
- communicate with the repository being rejected by Apache on
- authorization grounds. At this point, libsvn_ra_dav gets
- back the notice from Apache that insufficient identification
- was supplied, and calls back into the Client Layer to get
- some updated authentication data. If the data is supplied
- correctly, and the user has the permissions that Apache
- seeks, libsvn_ra_dav's next automatic attempt at performing
- the original operation will be granted, and all will be
- well. If sufficient authentication information cannot be
- supplied, the request will ultimately fail, and the client
- will report the failure to the user.</para>
+ <para>Das war eine vereinfachte Darstellung des
+ Übertragungsvorganges. Zum Beispiel kann das Projektarchiv
+ von Subversion durch Authentifizierungs Direktiven von
+ Apache geschützt werden. Dies könnte dazu führen, dass der
+ Verbindungsaufbau zum Projektarchiv von Apache aus
+ Authentifizierungsgründen unterbunden wird. In diesem Fall
+ bekommt libsvn_ra_dav von Apache die Rückmeldung, dass die
+ Identifikation ungenügend ist und gibt den Aufruf zurück auf
+ die Client Ebene um neuerlich die Authentifikationsdaten
+ anzufordern. Wenn die Daten korrekt zur Verfügung gestellt
+ werden und der/die BenutzerIn die Rechte hat, die Apache
+ benötigt, dann wird der nächste automatische Versuch von
+ libsvn_ra_dav dir ursprüngiche Operation auszuführen
+ gestattet und alles ist gut. Wenn keine zufriedenstellende
+ Authentifizierung stattfindet, dann wird der Aufruf
+ schlussendlich fehlschlagen und der Client wird wird dies an
+ den/die BenutzerIn zurückmelden.</para>
<!-- A diagram here? -->
- <para>By using Neon and Apache, Subversion gets free
- functionality in several other complex areas, too. For
- example, if Neon finds the OpenSSL libraries, it allows the
- Subversion client to attempt to use SSL-encrypted
- communications with the Apache server (whose own mod_ssl can
- <quote>speak the language</quote>). Also, both Neon itself
- and Apache's mod_deflate can understand the
- <quote>deflate</quote> algorithm (the same used by the PKZIP
- and gzip programs), so requests can be sent in smaller,
- compressed chunks across the wire. Other complex features
- that Subversion hopes to support in the future include the
- ability to automatically handle server-specified redirects
- (for example, when a repository has been moved to a new
- canonical URL) and taking advantage of HTTP
- pipelining.</para>
+ <para>Durch die Verwendung von Neon und Apache erhält
+ Subversion auch Funktionalitäten in verschiedenen anderen
+ komplexen Bereichen. Wenn zum Beispiel Neon die OpenSSL
+ Bibliotheken findet, erlaubt es dem Subversion Clienten eine
+ SSL-verschlüsselte Verbindung zum Apache Server aufzubauen
+ (dessen mod_ssl <quote>diese Sprache spricht</quote>).
+ Ebenso verstehen sowohl Neon selbst, als auch mod_deflate
+ von Apache den <quote>deflate</quote> Algorithmus (welcher
+ von PKZIP und gzip verwendet wird), sodass Anforderungen in
+ kleineren, komprimierten Stücken über die Leitung gesendet
+ werden können. Weitere komplexe Fähigkeiten, die Subversion
+ hofft in Zukunft unterstützen zu können umfassen die
+ Möglichkeit von serverspezifizierten Umleitungen (redirects)
+ (zum Beispiel, wenn das Projektarchiv auf eine andere URL
+ verschoben wurde) und die Nutzung von HTTP
+ Pipelining.</para>
- <!-- Talk about another difference between CVS and Subversion.
- CVS users had to specify which auth mechanism to use
- (with :ext: vs. :pserver:) and whether or not to use
- compressed communications (with the -z option). In
- Subversion, Apache takes some of that responsibility.
- The server will tell the client whether it can understand
- compression, and ... hmm. Is this really true? -->
+ <!-- Beschreibung weiterer Unterschiede zwischen CVS und
+ Subversion. CVS AnwenderInnen müssen angeben, welcher
+ Authentifizierungs Mechanismus verwendet werden soll.
+ (mittels :ext: oder :pserver:) und ob komprimierte
+ Kommunikation verwendet werden soll (mit der -z Option)
+ oder nicht. In Subversion übernimmt Apache einige dieser
+ Aufgaben. Der Server teilt dem Client mit ob er
+ Kompression beherrscht oder nicht und ... hmm. Stimmt
+ das auch wirklich? -->
</sect3>
<sect3 id="svn-ch-8-sect-1.2.2">
- <title>RA-SVN (Custom Protocol Repository Access)</title>
+ <title>Archivzugriff über das subversions-eigene Protokoll \
(RA-SVN/AZ-SVN)</title>
- <para>In addition to the standard HTTP/WebDAV protocol,
- Subversion also provides an RA implementation that uses a
- custom protocol. The libsvn_ra_svn module implements
- its own network socket connectivity, and communicates with a
- stand-alone server—the <filename>svnserve</filename>
- program—on the machine that hosts the
- repository. Clients access the repository using the
- <literal>svn://</literal> schema.</para>
-
- <para>This RA implementation lacks most of the advantages of
- Apache mentioned in the previous section; however, it may be
- appealing to some sysadmins nonetheless. It is dramatically
- easier to configure and run; setting up an
- <filename>svnserve</filename> process is nearly
- instantaneous. It is also much smaller (in terms of lines
- of code) than Apache, making it much easier to audit, for
- security reasons or otherwise. Furthermore, some sysadmins
- may already have an SSH security infrastructure in place,
- and want Subversion to use it. Clients using ra_svn can
- easily tunnel the protocol over SSH.</para>
+ <para>Zusätzlich zum Standard HTTP/WebDAV Protokol bietet
+ Subversion einen Archivzugriff über eine eigenes Protokoll.
+ Das libsvn_ra_svn Modul implementiert seine eigene Netwerk
+ Socket Lösung und kommuniziert mit einem eigenständigen
+ Server — dem <filename>svnserve</filename> Programm
+ — auf der Maschine, die das Projektarchiv beherbergt.
+ Clienten greifen auf das Projektarchiv unter Verwendung des
+ <literal>svn://</literal> Schemas zu.</para>
+
+ <para>Dieser Umsetzung des Archivzugriffs fehlen die meisten
+ Vorteile der Apache Methode, die im vorigen Abschnitt
+ besprochen wurde. Trotzdem kann sie sehr attraktiv sein,
+ weil sie wesentlich einfacher zu installieren und zu
+ konfigurieren ist. Das aufsetzen eines
+ <filename>svnserve</filename> Prozesses geht Blitzschnell.
+ Er ist viel kleiner (in Hinblick auf die Anzahl der
+ Codezeilen) als Apache und kann daher leichter überprüft
+ werden — auf Sicherheitsprobleme und auch sonst.
+ Weiters kann es sein, dass bereits eine bestehende SSH
+ Sicherheits Infrastruktur existiert und Subversion diese
+ benutzen sollte. Clienten, die ra_svn verwenden, können das
+ Protokoll einfach über SSH tunneln.</para>
</sect3>
<sect3 id="svn-ch-8-sect-1.2.3">
- <title>RA-Local (Direct Repository Access)</title>
+ <title>Direkter Archivzugriff (RA-Local/AZ-Lokal)</title>
- <para>Not all communications with a Subversion repository
- require a powerhouse server process and a network layer.
- For users who simply wish to access the repositories on
- their local disk, they may do so using
- <literal>file:</literal> URLs and the functionality provided
- by libsvn_ra_local. This RA module binds directly with the
- repository and filesystem libraries, so no network
- communication is required at all.</para>
-
- <para>Subversion requires the server name included as part of
- the <literal>file:</literal> URL be either
- <literal>localhost</literal> or empty, and that there be no
- port specification. In other words, your URLs should look
- like either
- <literal>file://localhost/path/to/repos</literal> or
- <literal>file:///path/to/repos</literal>.</para>
-
- <para>Also, be aware that Subversion's
- <literal>file:</literal> URLs cannot be used in a regular
- web browser the way typical <literal>file:</literal> URLs
- can. When you attempt to view a <literal>file:</literal>
- URL in a regular web browser, it reads and displays the
- contents of the file at that location by examining the
- filesystem directly. However, Subversion's resources exist
- in a virtual filesystem (see <xref
- linkend="svn-ch-8-sect-1.1" />), and your browser will not
- understand how to read that filesystem.</para>
+ <para>Nicht jede Kommunikation mit dem Projektarchiv von
+ Subversion erfordert einen riesigen Server und ein Netzwerk.
+ Wenn das Projektarchiv auf der eigenen Platte verwendet
+ werden soll, geschieht dies über <literal>file:</literal>
+ URLs und die Funktionalität, die von libsvn_ra_local zur
+ Verfügung gestellt wird. Dieses Archivzugriffs Modul steht
+ direkt mit den Projektarchiv und Dateisystem Bibliotheken in
+ Verbindung, sodass keine Netzwerkkommunikation erforderlich
+ ist.</para>
+
+ <para>Subversion erwartet, dass der Servername, der als Teil
+ der <literal>file:</literal> URL angegeben wird entweder
+ <literal>localhost</literal> lautet oder leer bleibt und
+ dass keine Portangaben verwendet werden. Die URLs sollten
+ also entweder in der Form
+ <literal>file://localhost/path/to/repos</literal> oder in
+ der Form <literal>file:///path/to/repos</literal>
+ eingegeben werden.</para>
+
+ <para>Seien sie sich also bewusst, dass die
+ <literal>file:</literal> URLs von Subversion in einem
+ normalen Webbrowser nicht in der gewohnten Weise verwendet
+ werden können. Wenn sie eine Datei mittels
+ <literal>file:</literal> URL in einem normalen Webbrowser
+ anschauen wollen, dann liest dieser den Inhalt der Datei
+ indem er direkt auf das Dateisystem zugreift. Die
+ Ressourcen von Subversion hingegen liegen in einem
+ virtuellen Dateisystem (siehe <xref
+ linkend="svn-ch-8-sect-1.1" />) und der Browser kann dieses
+ Dateisystem normalerweise nicht verstehen.</para>
</sect3>
<sect3 id="svn-ch-8-sect-1.2.4">
- <title>Your RA Library Here</title>
+ <title>Hier ist der Platz für ihre Archivzugriffs Bibliothek</title>
- <para>For those who wish to access a Subversion repository
- using still another protocol, that is precisely why the
- Repository Access Layer is modularized! Developers can
- simply write a new library that implements the RA interface
- on one side and communicates with the repository on the
- other. Your new library can use existing network protocols,
- or you can invent your own. You could use inter-process
- communication (IPC) calls, or—let's get crazy, shall
- we?—you could even implement an email-based protocol.
- Subversion supplies the APIs; you supply the creativity.</para>
+ <para>Wenn auf ein Subversion Projektarchiv über ein andres
+ Protokoll zugegreifen werden soll — genau das ist der
+ Grund warum die Archivzugriffs Ebene modularisiert wurde!
+ Schreiben sie eine neue Bibliothek, welche die
+ Archivzugriffs Schnittstelle auf der einen Seite
+ implementiert und auf der anderen Seite mit dem
+ Projektarchiv Ebene kommuniziert. Die neue Bibliothek kann
+ bestehende Netzwerkprotokolle verwenden oder sie können neue
+ entwerfen. Sie sollten Inter-Prozess-Kommunikation (IPC)
+ Aufrufe verwenden oder — lassen wir uns etwas
+ verrücktes einfallen — sie können auch ein
+ Email-basiertes Protokoll umsetzen. Subversion stellt die
+ APIs zur Verfügung und sie ihre Kreativität.</para>
</sect3>
</sect2>
<!-- ***************************************************************** -->
<sect2 id="svn-ch-8-sect-1.3">
- <title>Client Layer</title>
+ <title>Client Ebene</title>
- <para>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
- files and other subdirectories which serve as a sort of local,
- editable <quote>reflection</quote> of one or more repository
- locations—and propagating changes to and from the
- Repository Access layer.</para>
-
- <para>Subversion's working copy library, libsvn_wc, is directly
- responsible for managing the data in the working copies. To
- accomplish this, the library stores administrative information
- about each working copy directory within a special
- subdirectory. This subdirectory, named
- <filename>.svn</filename> is present in each working copy
- directory and contains various other files and directories
- which record state and provide a private workspace for
- administrative action. For those familiar with CVS, this
- <filename>.svn</filename> subdirectory is similar in purpose
- to the <filename>CVS</filename> administrative directories
- found in CVS working copies. For more information about the
- <filename>.svn</filename> administrative area, see <xref
- linkend="svn-ch-8-sect-3"/>in this chapter.</para>
-
- <para>The Subversion client library, libsvn_client, has the
- broadest responsibility; its job is to mingle the
- functionality of the working copy library with that of the
- Repository Access Layer, and then to provide the highest-level
- API to any application that wishes to perform general revision
- control actions. For example, the function
- <function>svn_client_checkout</function> takes a URL as an
- argument. It passes this URL to the RA layer and opens an
- authenticated session with a particular repository. It then
- asks the repository for a certain tree, and sends this tree
- into the working copy library, which then writes a full
- working copy to disk (<filename>.svn</filename> directories
- and all).</para>
-
- <para>The client library is designed to be used by any
- application. While the Subversion source code includes a
- standard command-line client, it should be very easy to write
- any number of GUI clients on top of the client library. New
- GUIs (or any new client, really) for Subversion need not be
- clunky wrappers around the included command-line
- client—they have full access via the libsvn_client API
- to same functionality, data, and callback mechanisms that the
- command-line client uses.</para>
+ <para>Auf der Client Seite ist die Suversion Arbeitskopie der
+ Ort an dem alle Aktionen stattfinden. Die Fülle an
+ Funktionalität, die durch die clientseitige Bibliothek
+ implementiert ist, existiert einzig dazu um die Arbeitskopie
+ — das sind Verzeichnisse voll mit Dateien und weiteren
+ Unterverzeichnissen, die als eine Art lokaler, veränderbarer
+ <quote>Wiederschein</quote> von einem oderer mehreren
+ Projektarchiven dienen — zu verwalten und um Änderungen
+ von der und an die Archivzugriffs Ebene zu übertragen.</para>
+
+ <para>Die Arbeitskopie Bibiothek von Subversion, libsvn_wc, ist
+ direkt zuständig um die Daten in den Arbeitskopien zu
+ verwalten. Um das zu bewerkstelligen speichert die Bibliothek
+ Verwaltungsinformationen über jede Arbeitskopie in einem
+ speziellen Unterverzeichnis. Dieses Unterverzeichnis mit dem
+ Namen <filename>.svn</filename> existiert in jedem Verzeichnis
+ der Arbeitskopie und enthält verschiedene andere Dateien und
+ Verzeichnisse, die den Zustand festhalten und eine private
+ Arbeitsumgebung für administrative Aktionen bieten. Für jene,
+ die mit CVS vertraut sind, sei gesagt, dass dieses
+ <filename>.svn</filename> Unterverzeichnis einen ähnlichen
+ Zweck hat, wie die <filename>CVS</filename> Verzeichnisse in
+ CVS Arbeitskopien. Für weitere Informationen über den
+ administrativen Bereich <filename>.svn</filename> siehe <xref
+ linkend="svn-ch-8-sect-3"/>in diesem Kapitel.</para>
+
+ <para>Die Subversion Client Bibliothek, libsvn_client, hat die
+ weitreichendsten Aufgaben; ihr Job ist die Vereinigung der
+ Funktionalität der Arbeitskopie Bibliothek mit jener der
+ Archivzugriffs Ebene. Die API stellt die höchste angebotene
+ Ebene für Programme zur Verfügung, die allgemeine Aktionen der
+ Revisionskontrolle durchführen wollen. (*TODO* der letzte Satz
+ wollte mir absolut nicht gelingen - original: ..., and then to
+ provide the highest-level API to any application that wishes
+ to perform general revision control actions.) Zum Beispiel
+ die Funktion <function>svn_client_checkout</function> nimmt
+ eine URL als Argument. Sie übergibt diese URL an die
+ Archivzugriffs Ebene und öffnet eine authentifizierte Sitzung
+ mit einem bestimmten Projektarchiv. Sie fordert vom
+ Projektarchiv einen sicheren (Datei)Baum und übergibt diesen
+ an die Arbeitskopie Bibliothek, welche eine vollständige
+ Arbeitskopie auf die Platte schreibt
+ (<filename>.svn</filename> Verzeichnisse usw).</para>
+
+ <para>Die Clienten Bibliothek wurde so entworfen, das sie von
+ jeder Anwendung benutzt werden kann. Während der Sourcecode
+ von Subversion standardmässig nur einen Kommandozeilen
+ Clienten enthält, sollte es sehr einfach sein, unter Benutzung
+ der Client Bibliothek eine Vielzahl von GUI Clienten zu
+ schreiben. Neue GUIs (oder eigentliche jeder neue Client) für
+ Subversion müssen nicht als kluge Kapseln (wrappers) um den
+ Kommandozeilen Clienten operieren — sie haben über die
+ libsvn_client API vollen Zugriff auf die gleiche
+ Funktionalität, die gleichen Daten und Callback Mechanismen,
+ wie der der Kommandozeilen Client.</para>
<sidebar>
- <title>Binding Directly—A Word About Correctness</title>
+ <title>Direkte Bindung — Einige Worte über Genauigkeit</title>
- <para>Why should your GUI program bind directly with a
- libsvn_client instead of acting as a wrapper around a
- command-line program? Besides simply being more efficient,
- this can address potential correctness issues as well. A
- command-line program (like the one supplied with Subversion)
- that binds to the client library needs to effectively
- translate feedback and requested data bits from C types to
- some form of human-readable output. This type of
- translation can be lossy. That is, the program may not
- display all of the information harvested from the API, or
- may combine bits of information for compact representation.</para>
-
- <para>If you wrap such a command-line program with yet another
- program, the second program has access only to
- already-interpreted (and as we mentioned, likely incomplete)
- information, which it must <emphasis>again</emphasis>
- translate into <emphasis>its</emphasis> representation
- format. With each layer of wrapping, the integrity of the
- original data is potentially tainted more and more, much
- like the result of making a copy of a copy (of a copy …)
- of a favorite audio or video cassette.</para>
+ <para>Warum sollte ihr GUI Program direkt mit der
+ libsvn_client Bibliothek binden, anstatt als Hülle (wrapper)
+ um das Kommandozeilen Programm zu agieren? Neben dem
+ Umstand, dass es einfach effizienter ist, kann auch die
+ gebotene Genauigkeit betroffen sein. Ein Kommandozeilen
+ Programm (wie das mit Subversion mitgelieferte), das direkt
+ mit der Client Bibliothek bindet muss angeforderte und
+ zurückgegeben Daten von C Typen in irgendeine
+ menschenlesbare Ausgabe übersetzen. Diese Art von
+ Übersetzung kann verlustbehaftet sein. Das heisst, dass das
+ Programm möglicherweise nicht alle Informationen die von der
+ API gesammelt wurden anzeigt oder möglicherweise
+ Informationen kombiniert bzw zusammenfasst um eine kompakte
+ Darstellung zu erreichen.</para>
+
+ <para>Wenn sie ein solches Kommandozeilen Progamm in ein
+ weiteres Progamm kapseln (wrap), dann hat dieses zweite
+ Programm nur Zugriff auf die bereits interpretierte (und wie
+ wir erwähnt haben möglicherweise unvollständige)
+ Information, welche es dann <emphasis>nochmals</emphasis>
+ auf <emphasis>seine</emphasis> Darstellung umsetzen muss.
+ Mit jeder Ebene der Kapselung (wrapping) besteht die Gefahr,
+ dass die Unversehrtheit der Daten mehr und mehr verloren
+ geht, vergleichbar mit dem Ergebnis, wenn sie eine analoge
+ Kopie von einer Kopie (von einer Kopie …) einer
+ Audio- oder Videokassette machen.</para>
</sidebar>
@@ -796,157 +854,173 @@
<!-- *** SECTION 2: USING THE APIS *** -->
<!-- ******************************************************************* -->
<sect1 id="svn-ch-8-sect-2">
- <title>Using the APIs</title>
+ <title>Benutzung der APIs</title>
- <para>Developing applications against the Subversion library APIs
- is fairly straightforward. All of the public header files live
- in the <filename>subversion/include</filename> directory of the
- source tree. These headers are copied into your system
- locations when you build and install Subversion itself from
- source. These headers represent the entirety of the functions
- and types meant to be accessible by users of the Subversion
- libraries.</para>
-
- <para>The first thing you might notice is that Subversion's
- datatypes and functions are namespace protected. Every public
- Subversion symbol name begins with <literal>svn_</literal>,
- followed by a short code for the library in which the symbol is
- defined (such as <literal>wc</literal>,
- <literal>client</literal>, <literal>fs</literal>, etc.),
- followed by a single underscore (<literal>_</literal>) and
- then the rest of the symbol name. Semi-public functions (used
- among source files of a given library but not by code outside
- that library, and found inside the library directories
- themselves) differ from this naming scheme in that instead of a
- single underscore after the library code, they use a double
- underscore (<literal>__</literal>). Functions that are private
- to a given source file have no special prefixing, and are declared
- <literal>static</literal>. Of course, a compiler isn't
- interested in these naming conventions, but they definitely help
- to clarify the scope of a given function or datatype.</para>
+ <para>Applikationen für die Bibliotheks APIs von Subversion zu
+ entwickeln ist wirklich einfach. Alle öffentlichen Header
+ Dateien sind im Verzeichnis
+ <filename>subversion/include</filename> des Source Baumes.
+ Diese Header werden auf die System Speicherplätze kopiert, wenn
+ sie Subversion aus dem Source erzeugen und installieren. Diese
+ Header repräsentieren die Gesamtheit der Funktionen und Typen,
+ die für den Zugriff auf die Bibliotheken vorgesehen sind.</para>
+
+ <para>Das Erste was sie festestellen werden, ist, dass die
+ Datentypen und Funktionen von Subversion in einen eigenen
+ Namensraum liegen. Jeder öffentliche Symbolname von Subversion
+ beginnt mit <literal>svn_</literal> gefolgt von einem Kürzel für
+ die Bibliothek in welcher das Symbol definiert ist (wie zum
+ Beispiel <literal>wc</literal>, <literal>client</literal>,
+ <literal>fs</literal>, usw.), gefolgt von einem Unterstrich
+ (<literal>_</literal>) und dann der Rest des Symbolnamens.
+ Halböffentliche Funktionen (also solche, die sich innalb der
+ Bibliotheksverzeichnisse befinden und die zwar von den
+ Bibliotheken untereinander benutzt werden, aber nicht von Code
+ ausserhalb davon) unterscheiden sich insofern vom Namensschema,
+ als dass nach dem Bibliotheks Kürzel zwei Unterstriche
+ (<literal>__</literal>) verwendet werden. Funktionen, die
+ privat in Bezug auf eine gegebene Quelldatei sind, haben kein
+ spezielles Präfix und sind <literal>static</literal> deklariert.
+ Natürlich interessiert den Compiler dieses Namensschema nicht,
+ aber es hilft definitiv den Gültigkeitsbereich einer Funktion
+ oder eines Datentypes klarzustellen.</para>
<!-- ***************************************************************** -->
<sect2 id="svn-ch-8-sect-2.1">
- <title>The Apache Portable Runtime Library</title>
+ <title>Die Apache Portable Runtime Library</title>
- <para>Along with Subversion's own datatype, you will see many
- references to datatypes that begin with
- <literal>apr_</literal>—symbols from the Apache
- Portable Runtime (APR) library. APR is Apache's portability
- library, originally carved out of its server code as an
- attempt to separate the OS-specific bits from the
- OS-independent portions of the code. The result was a library
- that provides a generic API for performing operations that
- differ mildly—or wildly—from OS to OS. While
- Apache HTTP Server was obviously the first user of the APR
- library, the Subversion developers immediately recognized the
- value of using APR as well. This means that there are
- practically no OS-specific code portions in Subversion itself.
- Also, it means that the Subversion client compiles and runs
- anywhere that the server does. Currently this list includes
- all flavors of Unix, Win32, BeOS, OS/2, and Mac OS X.</para>
+ <para>Gemeinsam mit den eigenen Datentypen von Subversion werden
+ sie viele Referenzen sehen, die mit <literal>apr_</literal>
+ beginnen — Symbole von der <quote>transportablen</quote>
+ Laufzeit Bibliothek von Apache (APR steht für Apache Portable
+ Runtime Library) APR ist eine Portierungs Bibliothek —
+ urprünglich herausgelöst aus dem Server Code als Versuch die
+ betriebssystemspezifischen Teile vom
+ betriebssystemunabhängigen Code zu trennen. Das Ergebnis war
+ eine Bibliothek, die eine allgemeine API für Operationen, die
+ sich von Betriebssystem zu Betriebssystem mehr oder weniger
+ unterscheiden, zur Verfügung stellt. Während der Apache HTTP
+ Server selbstverständlich das erste Programm war, das diese
+ APR Bibliothek nutzte, haben die EntwicklerInnen von
+ Subversion sofort den Wert dieser APR erkannt. Das heisst,
+ dass es in Subversion selbst so gut wie keinen
+ betriebssystemabhängigen Code gibt. Weiters bedeutet es, dass
+ der Subversion Client überall dort compiliert werden kann und
+ läuft, wo dies der Server (*TODO* klarstellen: der Apache
+ Server nehme ich an) auch tut. Derzeit sind dies alle
+ Varianten von Unix, Win32, BeOS, OS/2, and Mac OS X.</para>
- <para>In addition to providing consistent implementations of
- system calls that differ across operating systems,
+ <para>Zusätzlich zur einheitlichen Umsetzung der Systemaufrufe, die sich von
+ Betriebssystem zu Betriebssystem unterscheiden,
<footnote>
- <para>Subversion uses ANSI system calls and datatypes as much
- as possible.</para>
+ <para>Subversion benutzt ANSI Systemaufrufe und Datentypen
+ wo immer dies möglich ist.</para>
</footnote>
- APR gives Subversion immediate access to many custom
- datatypes, such as dynamic arrays and hash tables. Subversion
- uses these types extensively throughout the codebase. But
- perhaps the most pervasive APR datatype, found in nearly every
- Subversion API prototype, is the apr_pool_t—the APR
- memory pool. Subversion uses pools internally for all its
- memory allocation needs (unless an external library requires a
- different memory management schema for data passed through its
- API),
+ gibt APR Subversion direkten Zugriff auf viele interne
+ Datentypen wie zum Beispiel dynamische Arrays und Hash
+ Tabellen. Subversion benutzt diese Typen intensiv im eigenen
+ Code. Der wahrscheinlich markanteste APR Datentyp, der in
+ nahezu allen API Prototypen von Subversion anzutreffen ist,
+ ist der apr_pool — der APR Speicherpool. Subversion
+ nuzt Pools intern immer, wenn Hauptspeicher angefordert wird
+ (ausser eine externe Bibliothek erfordert ein anderes Speicher
+ Mangement Schema für Daten, die an diese API übergeben
+ werden).
<footnote>
- <para>Neon and Berkeley DB are examples of such libraries.</para>
+ <para>Neon und Berkeley DB sind Beispiele für solche
+ Bibliotheken.</para>
</footnote>
- and while a person coding against the Subversion APIs is
- not required to do the same, they are required to provide
- pools to the API functions that need them. This means that
- users of the Subversion API must also link against APR, must
- call <function>apr_initialize()</function> to initialize the
- APR subsystem, and then must acquire a pool for use with
- Subversion API calls. See <xref linkend="svn-ch-8-sect-5"/>
- for more information.</para>
+ Obwohl Personen, die für die APIs von Subversion
+ programmieren, dies nicht so handhaben müssen, ist es
+ erforderlich, dass diese Pools für Funktionen zur Verfügung
+ gestellt werden, die diese brauchen. Das heisst, dass bei der
+ Benutzung der API von Subversion die
+ <function>apr_initialize()</function> aufgerufen werden muss,
+ um das APR Subsytem zu initialisieren und dann muss ein Pool
+ für die API Aufrufe von Subversion angefordert werden. Siehe
+ <xref linkend="svn-ch-8-sect-5"/> für weitere
+ Informationen.</para>
</sect2>
<!-- ***************************************************************** -->
<sect2 id="svn-ch-8-sect-2.2">
- <title>URL and Path Requirements</title>
+ <title>Anforderungen an URLs und Pfade</title>
- <para>With remote version control operation as the whole point
- of Subversion's existence, it makes sense that some attention
- has been paid to internationalization (i18n) support. After
- all, while <quote>remote</quote> might mean <quote>across the
- office</quote>, it could just as well mean <quote>across the
- globe.</quote> To facilitate this, all of Subversion's public
- interfaces that accept path arguments expect those paths to be
- canonicalized, and encoded in UTF-8. This means, for example,
- that any new client binary that drives the libsvn_client
- interface needs to first convert paths from the
- locale-specific encoding to UTF-8 before passing those paths
- to the Subversion libraries, and then re-convert any resultant
- output paths from Subversion back into the locale's encoding
- before using those paths for non-Subversion purposes.
- Fortunately, Subversion provides a suite of functions (see
- <filename>subversion/include/svn_utf.h</filename>) that can be
- used by any program to do these conversions.</para>
-
- <para>Also, Subversion APIs require all URL parameters to be
- properly URI-encoded. So, instead of passing <systemitem
- class="url">file:///home/username/My File.txt</systemitem> as
- the URL of a file named <literal>My File.txt</literal>, you
- need to pass <systemitem
- class="url">file:///home/username/My%20File.txt</systemitem>.
- Again, Subversion supplies helper functions that your
- application can
- use—<function>svn_path_uri_encode</function> and
- <function>svn_path_uri_decode</function>, for URI encoding and
- decoding, respectively.</para>
- </sect2>
+ <para>Mit Versionskontrolle <qoute>in der Ferne</quote> als
+ zentralem Kriterium für die Existenz von Subversion macht es
+ Sinn, dass der Internationalisierung (i18n) einige Aufmerksam
+ geschenkt wurde, wobei <qoute>in der Ferne</quote> bedeuten
+ kann <quote>quer durchs Bürogebäude</quote>, aber auch
+ <quote>quer über den Globus</quote>. Um dies zu ermöglichen
+ erwarten alle öffentlichen Schnittstellen von Subversion die
+ Pfade akzeptieren, dass diese Pfade in eine Normform
+ (canonicalized) gebracht werden und dass sie in UTF-8
+ umgewandelt sind. Das bedeutet zum Beispiel, dass jedes neue
+ Clientenprogramm, welches die libsvn_client Schnittstelle
+ benutzt, die Pfade zuerst von der lokalne Zeichenkodierung auf
+ UTF-8 umwandeln muss, bevor diese an die Bibliotheken von
+ Subversion übergeben werden und dass zurückgegebene Pfade dann
+ auf die lokale Zeichenkodierung umgewandelt werden müssen,
+ bevor diese ausserhalb von Subversion weiterverwendet werden.
+ Glücklicherweise stellt Subversion einen Satz von Funktionen
+ (siehe <filename>subversion/include/svn_utf.h</filename>) zur
+ Verfügung, die von jedem Programm genutzt werden können um
+ diese Umwandlungen vorzunehmen.</para>
+
+ <para>Ausserdem verlangen die APIs von Subversion, dass alle URL
+ Parameter in sauberer URI Kodierung vorliegen. So muss
+ anstatt <systemitem class="url">file:///home/username/My
+ File.txt</systemitem> als URL für die Datei mit den Namen
+ <literal>My File.txt</literal> die URL in der Form <systemitem
+ class="url">file:///home/username/My%20File.txt</systemitem>
+ vewendet werden. Wie gesagt, Subversion bietet
+ Hilfsfunktionen, die ihre Applikation nutzen kann —
+ <function>svn_path_uri_encode</function> und
+ <function>svn_path_uri_decode</function> zur Umwandlung von
+ bzw auf die URI Kodierung beispielsweise.</para> </sect2>
<!-- ***************************************************************** -->
<sect2 id="svn-ch-8-sect-2.3">
- <title>Using Languages Other than C and C++</title>
+ <title>Andere Programmiersprachen 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 script or Java application—Subversion has some
- initial support for this via the Simplified Wrapper and
- Interface Generator (SWIG). The SWIG bindings for Subversion
- are located in <filename>subversion/bindings/swig</filename>
- and are slowly maturing into a usable state. These bindings
- allow you 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>There is an obvious benefit to accessing the Subversion
- APIs via a language binding—simplicity. Generally
- speaking, languages such as Python and Perl are much more
- flexible and easy to use than C or C++. The sort of
- high-level datatypes and context-driven type checking provided
- by these languages are often better at handling information
- that comes from users. As you know, humans are proficient at
- botching up input to a program, and scripting languages tend
- to handle that misinformation more gracefully. Of course,
- often that flexibility comes at the cost of performance. That
- is why using a tightly-optimized, C-based interface and
- library suite, combined with a powerful, flexible binding
- language is so appealing.</para>
-
- <para>Let's look at an example that uses Subversion's Python
- SWIG bindings. Our example will do the same thing as our last
- example. Note the difference in size and complexity of the
- function this time!</para>
+ <para>Wenn sie sie Bibliotheken von Subversion mit etwas anderem
+ als einem C Programm nutzen wollen — sagen wir ein
+ Python Script oder eine Java Applikation — dann bietet
+ Subversion eine Basisunterstützung dafür über den Simplified
+ Wrapper und Interface Generator (SWIG). SWIG Bindungen für
+ Subversion befinden sich in
+ <filename>subversion/bindings/swig</filename> und erreichen
+ langsam einen brauchbaren Zustand. Diese Bindungen erlauben
+ den indirekten Aufruf von API Funktionen für Subversion indem
+ sie Wrapper benutzen, welche die Datentypen der Scriptsprache
+ in soche für die C Bibliothek von Subversion umsetzen.</para>
+
+ <para>Es gibt einen offensichtliches Argument für den Zugriff
+ auf die APIs von Subversion über
+ programmiersprachenspezifische Bindungen — Einfachheit.
+ Allgemein ausgedrückt sind Programmiersprachen wie Python und
+ Perl viel flexibler und leichter zu benutzen als C oder C++.
+ Die Art der verallgemeinerten Datentypen und der
+ kontextabhängigen Typprüfung, die von diesen Sprachen geboten
+ wird, sind häufig besser für den Umgang mit Informationen
+ geeignet, die direkt von den BenutzerInnen kommen. Wie sie
+ wissen sind Menschen fähig, unmögliche Eingaben in einem
+ Programm zu machen und Scriptsprachen neigen dazu solche
+ Eingabefehler eleganter zu behandeln. Natürlich geht diese
+ Flexibilität häufig auf Kosten der Geschwindigkeit. Das ist
+ der Grund, warum eine straffe, optimierte C basierte
+ Schnittstelle und Bibliothek kombiniert mit einer mächtigen
+ und flexiblen daran gebundenen Scriptsprache so reizvoll
+ ist.</para>
+
+ <para>Werfen wir einen Blick auf ein Beispiel, das die SWIG
+ Bindung von Subversion für Python nutzt. Dieses Beispiel
+ macht das Gleiche wie unser letztes Beispiel. Beachten sie
+ die Unterschiede in Grösse und Komplexität!</para>
<example id="svn-ch-8-sect-2.3-ex-1">
- <title>Using the Repository Layer with Python</title>
+ <title>Benutzung der Projektarchiv Ebene mit Python</title>
<programlisting>
from svn import fs
@@ -984,28 +1058,30 @@
</programlisting>
</example>
- <para>An implementation in C of the previous example would
- stretch on quite a bit longer. The same routine in C would
- need to pay close attention to memory usage, and need to use
- custom datatypes for representing the hash of entries and the
- list of paths. Python has hashes and lists (called
- <quote>dictionaries</quote> and <quote>sequences</quote>,
- respectively) as built-in datatypes, and provides a wonderful
- selection of methods for operating on those types. And since
- Python uses reference counting and garbage collection, users
- of the language don't have to bother themselves with
- allocating and freeing memory.</para>
-
- <para>In the previous section of this chapter, we mentioned the
- <filename>libsvn_client</filename> interface, and how it
- exists for the sole purpose of simplifying the process of
- writing a Subversion client. The following is a brief example
- of how that library can be accessed via the SWIG bindings. In
- just a few lines of Python, you can check out a fully
- functional Subversion working copy!</para>
+ <para>Eine Umsetzung des vorangegangenen Beispieles in C wäre um
+ einiges länger. Die gleiche Routine in C müsste sich penibel
+ um die Speichernutzung kümmern und müsste eigene Datentypen
+ für die Repräsentation der Hash Elemente und der Pfadlisten
+ benutzen. Python hat eingebaute Hash- und Listen-Typen (unter
+ der Bezeichnung <quote>Verzeichnisse</quote> beziehungsweise
+ <quote>Sequenzen</quote>) und bietet wunderbare Methoden um
+ mit diesen Datentypen zu operieren. Und da Python
+ Referenzzähler und automatische Speicherbereinigung verwendet,
+ müssen sich BenuzterInnen der Sprache nicht selbst mit der
+ Anforderung und Freigabe von Hauptspeicher
+ herumschlagen.</para>
+
+ <para>Im vorigen Abschnitt dieses Kapitels erwähnten wir, die
+ <filename>libsvn_client</filename> Schnittstelle und dass
+ diese einzig und allene existiert um das Schreiben eines
+ Clienten für Subversion zu vereinfachen. Im folgenden ein
+ Beispiel, wie diese Bibliothek über die SWIG Anbindung
+ genutzt werden kann. Mit einigen wenigen Zeilen in Python
+ können sie eine voll funktionsfähige Subversion Arbeitskopie
+ auschecken!</para>
<example id="svn-ch-8-sect-2.3-ex-2">
- <title>A Simple Script to Check Out a Working Copy.</title>
+ <title>Ein Beispielscript um eine Arbeitskopie auszuchecken.</title>
<programlisting>
#!/usr/bin/env python
@@ -1035,18 +1111,20 @@
</programlisting>
</example>
- <para>Subversion's language bindings unfortunately tend to lack
- the level of attention given to the core Subversion modules.
- However, there have been significant efforts towards creating
- functional bindings for Python, Perl, and Java. Once you have
- the SWIG interface files properly configured, generation of
- the specific wrappers for all the supported SWIG languages
- (which currently includes versions of C#, Guile, Java,
- Mzscheme, OCaml, Perl, PHP, Python, Ruby, and Tcl) should
- theoretically be trivial. Still, some extra programming is
- required to compensate for complex APIs that SWIG needs some
- help generalizing. For more information on SWIG itself, see
- the project's website at <systemitem
+ <para>Die Sprachbindungen von Subversion neigen
+ unglücklicherweise dazu, dass ihnen nicht die gleiche
+ Aufmerksamkeit zukommt wie den Kernmodulen von Subversion.
+ Trotzdem wurden signifikante Anstrengungen unternommen, um
+ funktionierende Bindungen für Python, Perl und Java
+ bereitzustellen. Wenn die SWIG Schnittstelle erst einmal
+ sauber konfiguriert ist, sollte die Erzeugung der spezifischen
+ Wrapper für die unterstützten Sprachen (welche derzeit
+ Versionen von C#, Guile, Java, Mzscheme, OCaml, Perl, PHP,
+ Python, Ruby, and Tcl umfassen) trivial sein. Trotzdem ist
+ noch zusätzliche Programmierarbeit erforderlich, um für die
+ komplexen APIs, die SWIG benötigt, eine allgemeine
+ Hilfestellung zu bieten. Für weitere Informationen zu SWIG
+ befinden sich auf der Homepage des Projektes <systemitem
class="url">http://www.swig.org/</systemitem>.</para>
</sect2>
@@ -1056,76 +1134,80 @@
<!-- *** SECTION 3: INSIDE THE WORKING COPY ADMINISTRATION AREA *** -->
<!-- ******************************************************************* -->
<sect1 id="svn-ch-8-sect-3">
- <title>Inside the Working Copy Administration Area</title>
+ <title>Der administrative Bereich in der Arbeitskopie</title>
- <para>As we mentioned earlier, each directory of a Subversion
- working copy contains a special subdirectory called
- <filename>.svn</filename> which houses administrative data about
- that working copy directory. Subversion uses the information in
- <filename>.svn</filename> to keep track of things like:</para>
+ <para>Wie wir früher erwähnten, enthält jedes Verzeichnis einer
+ Arbeitskopie von Subversion ein spezielles Unterverzeichnis
+ namens <filename>.svn</filename>, welches die Verwaltungsdaten
+ für das jeweilige Verzeichnis der Arbeitskopie enthält.
+ Subversion benutzt die Information in <filename>.svn</filename>
+ um Übersicht über verschiedene Dinge zu behalten, wie:</para>
<itemizedlist>
<listitem>
- <para>Which repository location(s) are represented by the
- files and subdirectories in the working copy
- directory.</para>
+ <para>Welches Projektarchiv wird durch die Dateien und
+ Unterverzeichnisse im Arbeitskopie Verzeichnis repräsentiert
+ — es können auch mehrere Projektarchive sein.</para>
</listitem>
<listitem>
- <para>What revision of each of those files and directories are
- currently present in the working copy.</para>
+ <para>Welche Revision der Dateien und Verzeichnisse befindet
+ sich derzeit in der Arbeitskopie.</para>
</listitem>
<listitem>
- <para>Any user-defined properties that might be attached
- to those files and directories.</para>
+ <para>Beliebige eigene Eigenschaften können mit diesen Dateien
+ und Verzeichnissen verknüpft werden.</para>
</listitem>
<listitem>
- <para>Pristine (un-edited) copies of the working copy
- files.</para>
+ <para>Unveränderte Kopien der Dateien in der
+ Arbeitskopie.</para>
</listitem>
</itemizedlist>
- <para>While there are several other bits of data stored in the
- <filename>.svn</filename> directory, we will examine only a
- couple of the most important items.</para>
+ <para>Obwohl mehr Information im <filename>.svn</filename>
+ Verzeichnis gespeichert wird, werden wir nur einige der
+ wichtigsten Punkte untersuchen.</para>
<!-- ***************************************************************** -->
<sect2 id="svn-ch-8-sect-3.1">
- <title>The Entries File</title>
+ <title>Die Entries Datei</title>
- <para>Perhaps the single most important file in the
- <filename>.svn</filename> directory is the
- <filename>entries</filename> file. The entries file is an XML
- document which contains the bulk of the administrative
- information about a versioned resource in a working copy
- directory. It is this one file which tracks the repository
- URLs, pristine revision, file checksums, pristine text and
- property timestamps, scheduling and conflict state
- information, last-known commit information (author, revision,
- timestamp), local copy history—practically everything
- that a Subversion client is interested in knowing about a
- versioned (or to-be-versioned) resource!</para>
+ <para>Die wahrscheinlich wichtigste Datei im
+ <filename>.svn</filename> Verzeichnis ist die
+ <filename>entries</filename> Datei. Die entries Datei ist ein
+ XML Dokument, welches eine Menge administrative Informationen
+ über eine Ressource unter Versionskontrolle in einem
+ Arbeitskopie Verzeichnis enthält. In dieser Datei werden die
+ URLs der Projektarchive, die ursprüngliche Revision, Datei
+ Prüfsummen, Zeitstempel des ursprünglichen Textes und der
+ Eigenschaften, Status über vorgemerkte Aktionen und Konflikte,
+ Information über die letzte Übertragung (AutorIn, Revision,
+ Zeitstempel), die Geschichte von lokalen Kopien —
+ praktisch alles, was ein Subversion Client über eine Ressource
+ unter Versionskontrolle steht (oder gestellt werden soll)
+ wissen muss!</para>
<sidebar>
- <title>Comparing the Administrative Areas of Subversion and
- CVS</title>
+ <title>Verchleich zwischen den administrativen Bereichen von
+ Subversion und CVS</title>
- <para>A glance inside the typical <filename>.svn</filename>
- directory turns up a bit more than what CVS maintains in its
- <filename>CVS</filename> administrative directories. The
- <filename>entries</filename> file contains XML which
- describes the current state of the working copy directory,
- and basically serves the purposes of CVS's
- <filename>Entries</filename>, <filename>Root</filename>, and
- <filename>Repository</filename> files combined.</para>
+ <para>Ein Blick in ein typisches <filename>.svn</filename>
+ Verzeichnis zeigt, dass hier ein bischen mehr administriert
+ wird als CVS in seinem adminstrativen
+ <filename>CVS</filename> Verzeichnis verwaltet. Die
+ <filename>entries</filename> Datei enthält XML, welche den
+ aktuellen Status des Arbeitskopie Verzeichnisses beschreibt
+ und grundsätzlich den gleichen Zweck erfüllt, wie die
+ Kombination der Dateien <filename>Entries</filename>,
+ <filename>Root</filename> und
+ <filename>Repository</filename> unter CVS.</para>
</sidebar>
- <para>The following is an example of an actual entries
- file:</para>
+ <para>Im Folgenden ein Beispiel einer entries Datei:</para>
<example id="svn-ch-8-sect-3-ex-1">
- <title>Contents of a Typical <filename>.svn/entries</filename>
- File</title>
+ <title>Inhalt einer typischen
+ <filename>.svn/entries</filename> Datei</title>
<programlisting>
<?xml version="1.0" encoding="utf-8"?>
<wc-entries
@@ -1167,52 +1249,56 @@
</programlisting>
</example>
- <para>As you can see, the entries file is essentially a list of
- entries. Each <sgmltag>entry</sgmltag> tag represents one of
- three things: the working copy directory itself (called the
- <quote>this directory</quote> entry, and noted as having an
- empty value for its <structfield>name</structfield>
- attribute), a file in that working copy directory (noted by
- having its <structfield>kind</structfield> attribute set to
- <literal>"file"</literal>), or a subdirectory in that working
- copy (<structfield>kind</structfield> here is set to
- <literal>"dir"</literal>). The files and subdirectories whose
- entries are stored in this file are either already under
- version control, or (as in the case of the file named
- <filename>zeta</filename> above) are scheduled to be added to
- version control when the user next commits this working copy
- directory's changes. Each entry has a unique name, and each
- entry has a node kind.</para>
-
- <para>Developers should be aware of some special rules that
- Subversion uses when reading and writing its
- <filename>entries</filename> files. While each entry has a
- revision and URL associated with it, note that not every
- <sgmltag>entry</sgmltag> tag in the sample file has explicit
- <structfield>revision</structfield> or
- <structfield>url</structfield> attributes attached to it.
- Subversion allows entries to not explicitly store those two
- attributes when their values are the same as (in the
- <structfield>revision</structfield> case) or trivially
- calculable from
- <footnote>
- <para>That is, the URL for the entry is the same as the
- concatenation of the parent directory's URL and the
- entry's name.</para>
- </footnote>
- (in the <structfield>url</structfield> case) the data stored
- in the <quote>this directory</quote> entry. Note also that
- for subdirectory entries, Subversion stores only the crucial
- attributes—name, kind, url, revision, and schedule. In
- an effort to reduce duplicated information, Subversion
- dictates that the method for determining the full set of
- information about a subdirectory is to traverse down into that
- subdirectory, and read the <quote>this directory</quote> entry
- from its own <filename>.svn/entries</filename> file. However,
- a reference to the subdirectory is kept in its parent's
- <filename>entries</filename> file, with enough information to
- permit basic versioning operations in the event that the
- subdirectory itself is actually missing from disk.</para>
+ <para>Wie sie sehen können ist die Datei grundsätzlich eine
+ Liste von Einträgen (entries). Jede <sgmltag>entry</sgmltag>
+ Marke repräsentiert eine von drei Dingen: das Arbeitskopie
+ Verzeichnis selbst (der sogenannte <quote>dieses
+ Verzeichnis</quote> Eintrag — zu erkennen am leeren
+ <structfield>name</structfield> Attribut), eine Datei in
+ diesem Arbeitskopie Verzeichnis (das
+ <structfield>kind</structfield> Attribut ist auf
+ <literal>"file"</literal> gesetzt) oder ein Unterverzeichnis
+ in diesem Arbeitsverzeichnis (das
+ <structfield>kind</structfield> Attribut ist hier auf
+ <literal>"dir"</literal> gesetzt). Die Dateien und
+ Unterverzeichnisse deren Einträge in dieser Datei gespeichert
+ sind sind entweder bereits unter Versioskontrolle oder sind
+ (wie im Fall der Datei <filename>zeta</filename> im obigen
+ Beispiel) für das Hinzufügen zur Versionskontrolle vorgemerkt,
+ wenn die Änderungen an der Arbeitskopie das nächste Mal an das
+ Projektarchiv übertragen werden. Jeder Eintrag hat einen
+ eindeutigen Namen und ein kind (Art) Attribut.</para>
+
+ <para>Beim Entwickeln sollten sie auf einige spezielle Regeln
+ achten, die Subversion anwendet, wenn es seine
+ <filename>entries</filename> Dateien liest und schreibt.
+ Obwohl jeder Eintrag mit einer Revision und einer URL
+ verknüpft ist, fällt auf, dass nicht jede
+ <sgmltag>entry</sgmltag> Marke in der Beispieldatei ein
+ explizites <structfield>revision</structfield> oder
+ <structfield>url</structfield> Attribut aufweist. Subversion
+ erlaubt das Weglassen dieser beiden Attribute, wenn ihr Wert
+ der gleich ist (im Falle des
+ <structfield>revision</structfield> Attributes) oder einfach
+ ermittelt werden kann <footnote> <para>Indem die URL aus der
+ Verkettung der URL des Elternverzeichnisses und dem Namen des
+ Eintrags gebildet wird.</para> </footnote> (im Falle des
+ <structfield>url</structfield> Attributes) aus den Daten, die
+ für den <quote>dieses Verzeichnis</quote> Eintrag gespeichert
+ sind. Beachten sie also, dass Subversion für
+ Unterverzeichnisse nur die Schlüssel Attribute speichert, also
+ name, kind, url, revision, und schedule. In der Absicht
+ redundante Information zu verringern legt Subversion fest,
+ dass die korrekte Methode zur Ermittlung des vollen
+ Attributsatzes darin besteht in dieses Verzeichnis
+ hinunterzusteigen und den <quote>dieses Verzeichnis</quote>
+ Eintrag in der dazugehörigen <filename>.svn/entries</filename>
+ Datei zu lesen. Trotzdem wird eine Referenz auf das
+ Unterverzeichnis in der <filename>entries</filename> Datei des
+ Elternverzeichnises gehalten, mit ausreichend Information, um
+ grundlegende Operationen der Versionskontrolle möglich zu
+ machen, für den Fall, dass sich das Unterverzeichnis selbst
+ nicht auf der Platte befindet.</para>
</sect2>
@@ -1220,36 +1306,43 @@
<sect2 id="svn-ch-8-sect-3.2">
<title>Pristine Copies and Property Files</title>
- <para>As mentioned before, the <filename>.svn</filename>
- directory also holds the pristine <quote>text-base</quote>
- versions of files. Those can be found in
- <filename>.svn/text-base</filename>. The benefits of these
- pristine copies are multiple—network-free checks for
- local modifications and difference reporting, network-free
- reversion of modified or missing files, smaller transmission
- of changes to the server—but comes at the cost of having
- each versioned file stored at least twice on disk. These
- days, this seems to be a negligible penalty for most files.
- However, the situation gets uglier as the size of your
- versioned files grows. Some attention is being given to
- making the presence of the <quote>text-base</quote> an option.
- Ironically though, it is as your versioned files' sizes get
- larger that the existence of the <quote>text-base</quote>
- becomes more crucial—who wants to transmit a huge file
- across a network just because they want to commit a tiny
- change to it?</para>
-
- <para>Similar in purpose to the <quote>text-base</quote> files
- are the property files and their pristine
- <quote>prop-base</quote> copies, located in
- <filename>.svn/props</filename> and
- <filename>.svn/prop-base</filename> respectively. Since
- directories can have properties, too, there are also
- <filename>.svn/dir-props</filename> and
- <filename>.svn/dir-prop-base</filename> files. Each of these
- property files (<quote>working</quote> and <quote>base</quote>
- versions) uses a simple <quote>hash-on-disk</quote> file
- format for storing the property names and values.</para>
+ <para>Wie zuvor erwähnt, enthält das <filename>.svn</filename>
+ Verzeichnis die ursprüngliche <quote>text-base</quote> Version
+ von Dateien. Diese sind unter
+ <filename>.svn/text-base</filename> zu finden. Die Vorteile
+ dieser Kopien sind vielfältig — ohne Netzwerkverbindung
+ kann so auf lokale Änderungen geprüft werden, können
+ Unterschiede ausgegeben werden, können Änderungen an oder
+ Löschungen von Dateien rückgängig gemacht werden und die
+ Informationen zur Übertragung von Änderungen können klein
+ gehalten werden. Der Preis dafür ist, dass jede Datei unter
+ Versionskontrolle doppelt auf der Platte gespeichert werden
+ muss. Heutzutage scheint dies für die meisten Dateien ein
+ vernachlässigbarer Nachteil. Allerdings verschlimmert sich
+ die Lage mit dem Anwachsen der Dateien, die unter
+ Versionskontrolle stehen. Einige Überlegungen wurden
+ angestellt, um diese <quote>text-base</quote> Dateien als
+ Option vorzusehen. Ironischerweise wird die Existenz mit dem
+ Anwachsen der Dateien unter Versionskontrolle auch wichtiger
+ — wer will schon eine riesige Datei über das Netzwerk
+ übertragen, nur weil eine winzige Änderung vorgenommen wurde?
+ (Anm. d. Übers: Sinnvoll wäre diese optionale Möglichkeit auf
+ die <quote>text-base</quote> Dateien zu verzichten vor allem
+ dort, wo auch das Projektarchiv selbst lokal auf der eigenen
+ Platte liegt)</para>
+
+ <para>Ähnliche Aufgaben wie die <quote>text-base</quote> Dateien
+ haben die Dateien mit den Eigenschaften (properties) und deren
+ <quote>prop-base</quote> Kopien mit dem Ausgangszustand in
+ <filename>.svn/props</filename> beziehungsweise
+ <filename>.svn/prop-base</filename>. Da auch Verzeichnisse
+ Eigenschaften haben können, gibt es auch
+ <filename>.svn/dir-props</filename> und
+ <filename>.svn/dir-prop-base</filename> Dateien. Jede dieser
+ Eigenschaften Dateien (sowohl die <quote>Arbeitsdatei</quote>
+ als auch die <quote>base</quote> Version) benutzt ein
+ einfaches <quote>hash-on-disk</quote> Datei Format um die
+ Namen und Werte der Eigenschaften zu speichern.</para>
</sect2>
</sect1>
@@ -1260,115 +1353,125 @@
<sect1 id="svn-ch-8-sect-4">
<title>WebDAV</title>
- <para>WebDAV (shorthand for <quote>Web-based Distributed Authoring
- and Versioning</quote>) is an extension of the standard HTTP
- protocol designed to make the web into a read/write medium,
- instead of the basically read-only medium that exists today.
- The theory is that directories and files can be shared—as
- both readable and writable objects—over the web. RFCs
- 2518 and 3253 describe the WebDAV/DeltaV extensions to HTTP, and
- are available (along with a lot of other useful information) at
- <systemitem
- class="url">http://www.webdav.org/</systemitem>.</para>
-
- <para>A number of operating system file browsers are already able
- to mount networked directories using WebDAV. On Win32, the
- Windows Explorer can browse what it calls WebFolders (which are
- just WebDAV-ready network locations) as if they were regular
- shared folders. Mac OS X also has this capability, as do the
- Nautilus and Konqueror browsers (under GNOME and KDE,
- respectively).</para>
-
- <para>How does all of this apply to Subversion? The mod_dav_svn
- Apache module uses HTTP, extended by WebDAV and DeltaV, as one
- of its network protocols. Subversion uses mod_dav_svn to map
- between Subversion's versioning concepts and those of RFCs 2518
- and 3253.
- </para>
-
- <para>For a more thorough discussion of WebDAV, how it works, and
- how Subversion uses it, see <xref linkend="svn-ap-c"/>. Among
- other things, that appendix discusses the degree to which
- Subversion adheres to the generic WebDAV specification, and how
- that affects interoperability with generic WebDAV
- clients.</para>
+ <para>WebDAV (die Abkürzung für <quote>Web-based Distributed
+ Authoring and Versioning</quote>, also ein webbasiertes,
+ verteiltes, AutorInnen und Versionskontroll System) ist eine
+ Erweiterung des Standard HTTP Protokolls, das entworfen wurde um
+ das Web als Lese- und Schreibmedium nutzen zu können, im
+ Gegensatz zu der heute vorherschenden Nutzung als reines
+ Nur-Lesen Medium. Das Ziel ist die gemeinsame Nutzung von
+ Verzeichnissen und Dateien über das Web — sowohl zum Lesen
+ als auch zum Schreiben. RFCs 2518 and 3253 beschreiben die
+ WebDAV/DeltaV Erweiterung zu HTTP und sind (neben einer Menge
+ anderer nützlicher Information) unter <systemitem
+ class="url">http://www.webdav.org/</systemitem>
+ verfügbar.</para>
+
+ <para>Eine Anzahl von Dateimanagern können bereits jetzt
+ Netzwerkverzeichnisse über WebDAV einbinden. Unter Win32 kann
+ der Windows Explorer sogenannte WebFolder (nichts anderes als
+ WebDAV fähige Netzwerk Ablageorte) darstellen, als ob es sich um
+ normale Netzwerkfreigaben handeln würde. Mac OS X hat diese
+ Fähigkeit ebenfalls — genauso wie Nautilus und der
+ Konqueror Browser (unter GNOME beziehungsweise KDE).</para>
+
+ <para>Wie hängt das alles mit Subversion zusammen? Das
+ mod_dav_svn Apache Modul benutzt HTTP, erweitert um WebDAV und
+ DeltaV als eines seiner Netzwerkprotokolle. Subversion benutzt
+ mod_dav_svn um die Umsetzung zwischen dem eigenen
+ Versionskonzept und dem von RFCs 2518 und 3253 zu
+ bewerkstelligen.</para>
+
+ <para>Für eine grundsätzlichere Diskussion über WebDAV, wie es
+ arbeitet und wie es von Subversion genutzt wird siehe <xref
+ linkend="svn-ap-c"/>. Neben anderen Dingen erläutert dieser
+ Anhang den Grad in welchem Subversion an die allgemeine WebDAV
+ Spezifikation gebunden ist und wie das die Interoperabilität
+ zwischen generischen WebDAV Clienten beeinflusst.</para>
+
</sect1>
<!-- ******************************************************************* -->
<!-- *** SECTION 5: PROGRAMMING WITH MEMORY POOLS *** -->
<!-- ******************************************************************* -->
<sect1 id="svn-ch-8-sect-5">
- <title>Programming with Memory Pools</title>
+ <title>Programmieren mit den Speicherpools</title>
- <para>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 you no
- longer need it—these tasks can be quite complex. And of
- course, failure to do those things properly can result in a
- program that crashes itself, or worse, crashes the computer.
- Fortunately, the APR library that Subversion depends on for
- portability provides the <structname>apr_pool_t</structname>
- type, which represents a pool from which the application may
- allocate memory.</para>
-
- <para>A memory pool is an abstract representation of a chunk of
- memory allocated for use by a program. Rather than requesting
- memory directly from the OS using the standard
- <function>malloc()</function> and friends, programs that link
- against APR can simply request that a pool of memory be created
- (using the <function>apr_pool_create()</function> function).
- APR will allocate a moderately sized chunk of memory from the
- OS, and that memory will be instantly available for use by the
- program. Any time the program needs some of the pool memory, it
- uses one of the APR pool API functions, like
- <function>apr_palloc()</function>, which returns a generic
- memory location from the pool. The program can keep requesting
- bits and pieces of memory from the pool, and APR will keep
- granting the requests. Pools will automatically grow in size to
- accommodate programs that request more memory than the original
- pool contained, until of course there is no more memory
- available on the system.</para>
-
- <para>Now, if this were the end of the pool story, it would hardly
- have merited special attention. Fortunately, that's not the
- case. Pools can not only be created; they can also be cleared
- and destroyed, using <function>apr_pool_clear()</function> and
- <function>apr_pool_destroy()</function> respectively. This
- gives developers the flexibility to allocate several—or
- several thousand—things from the pool, and then clean up
- all of that memory with a single function call! Further, pools
- have hierarchy. You can make <quote>subpools</quote> of any
- previously created pool. When you clear a pool, all of its
- subpools are destroyed; if you destroy a pool, it and its
- subpools are destroyed.</para>
-
- <para>Before we go further, developers should be aware that they
- probably will not find many calls to the APR pool functions we
- just mentioned in the Subversion source code. APR pools offer
- some extensibility mechanisms, like the ability to have custom
- <quote>user data</quote> attached to the pool, and mechanisms
- for registering cleanup functions that get called when the pool
- is destroyed. Subversion makes use of these extensions in a
- somewhat non-trivial way. So, Subversion supplies (and most of
- its code uses) the wrapper functions
- <function>svn_pool_create()</function>,
- <function>svn_pool_clear()</function>, and
- <function>svn_pool_destroy()</function>.</para>
-
- <para>While pools are helpful for basic memory management, the
- pool construct really shines in looping and recursive scenarios.
- Since loops are often unbounded in their iterations, and
- recursions in their depth, memory consumption in these areas of
- the code can become unpredictable. Fortunately, using nested
- memory pools can be a great way to easily manage these
- potentially hairy situations. The following example
- demonstrates the basic use of nested pools in a situation that
- is fairly common—recursively crawling a directory tree,
- doing some task to each thing in the tree.</para>
+ <para>Fast alle EntwicklerInnen, die mit der Programmsprache C
+ gearbeitet haben, kennen die entmutigendende Aufgabe die
+ Speicherverwendung zu verwalten. Genug Speicher bei Bedarf
+ anfordern, die Belegung verfolgen, nicht mehr benötigten
+ Speicherplatz wieder freigeben — Diese Aufgaben können
+ wirklich komplex sein. Und selbstverständlich können Fehler in
+ diesem Bereich zu Programmen führen, die abstürzen oder noch
+ schlechter, die das ganze System zum Absturz bringen.
+ Glücklicherweise bietet die APR Bibliothek, die Subversion aus
+ Portabilitätsgründen verwendet, den
+ <structname>apr_pool_t</structname> Typ, einen Pool, von dem die
+ Applikation Speicher anfordern kann.</para>
+
+ <para>Ein Speicherpool ist eine abstrakte Repräsentation für eine
+ Menge Speicher, die vom Programm benutzt werden kann. Im
+ Gegensatz zu der direkten Anforderung von Speicher vom
+ Betriebssystem über die Standardfunktionen
+ <function>malloc()</function> und Konsorten können Programme die
+ gegen APR gelinkt sind einfach anfordern, dass ein Speicherpool
+ erstellt wird (indem sie die
+ <function>apr_pool_create()</function> Funktion benutzen).
+ Jedes Mal, wenn das Programm Speicher aus dem Pool braucht,
+ verwendet es eine der Funktionen der APR Pool API, wie
+ <function>apr_palloc()</function>, welche eine generische
+ Speicherlokation aus dem Pool zurückgibt. Das Programm kann
+ kleinere oder grössere Speicherbereiche aus dem Pool anfordern
+ und APR wird dafür sorgen, dass die Anforderungen bedient
+ werden. Pools können automatisch in der Grösse wachsen um einem
+ Programm mehr Speicher zur Verfügung zu stellen, als der Pool
+ ursprünglich enthalten hat und zwar solange, bis dem System kein
+ Speicher mehr zur Verfügung steht.</para>
+
+ <para>Nun, wenn dies das Ende der Pool Geschichte wäre, dann würde
+ sie kaum besondere Aufmerksamkeit verdienen. Glücklicherweise
+ ist das nicht der Fall. Pools können nicht nur erzeugt, sondern
+ auch geleert und zerstört werden, indem
+ <function>apr_pool_clear()</function> beziehungsweise
+ <function>apr_pool_destroy()</function> verwendet werden. Damit
+ ist es möglich mehrmals — oder mehrere tausend Male
+ — Dinge vom Pool anzufordern und dann den ganzen zur
+ Verfügung gestellten Speicher mit einem einzigen Funktionsaufruf
+ zu löschen! Weiters besitzen Pools eine Hierarchie. Wenn sie
+ einen Pool entleeren, dann werden alle seine Subpools zerstört;
+ wenn sie einen Pool zerstören, dann werden der Pool und seine
+ Subpools zerstört.</para>
+
+ <para>Bevor wir weiter gehen, sollten sie sich bewusst sein, dass
+ sie möglicherweise nicht viele Aufrufe für die soeben
+ beschriebenen APR Pool Funktionen im Quellcode von Subversion
+ finden werden. APR Pools bieten einige erweiterbare
+ Mechanismen, wie die Möglichkeit selbstdefinierte <quote>user
+ data</quote> an den Pool anzuhängen und Mechanismen, um
+ Löschfunktionen zu registrieren, die aufgerufen werden, wenn ein
+ Pool zerstört wird. Subversion nutzt diese Erwerterungen in
+ einer etwas nicht-trivialen Art. So bietet Subversion die
+ Wrapper Funktionen <function>svn_pool_create()</function>,
+ <function>svn_pool_clear()</function> und
+ <function>svn_pool_destroy()</function> und verwendet
+ hauptsächlich diese.</para>
+
+ <para>Obwohl die Pool auch bei der Basis Speicherverwaltung
+ hilfreich sind, glänzen sie insbesondere bei Schleifen und
+ rekursiven Szenarien. Da die Anzahl der Durchläufe bei
+ Schleifen und die Tiefe bei Iterationen oft nicht vorhersehbar
+ sind, ist auch der Speicherbedarf in diesen Bereichen
+ unberechenbar. Glücklicherweise besteht durch die Nutzung von
+ geschachtelten Speicherpools ein einfacher Weg um diese
+ potentiell haarigen Situationen zu verwalten. Das folgende
+ Beispiel demonstriert den Einsatz von verschachtelten Pools in
+ einer durchaus üblichen Situation — rekursives
+ Durchschreiten eines Verzeichnisbaumes, wobei für jedes Element
+ im Baum einige Aufgaben zu erledigen sind.</para>
<example id="svn-ch-8-sect-5-ex-1">
- <title>Effective Pool Usage</title>
+ <title>Effizienter Einsatz von Pools</title>
<programlisting>
/* Recursively crawl over DIRECTORY, adding the paths of all its file
children to the FILES array, and doing some task to each path
@@ -1453,27 +1556,30 @@
</programlisting>
</example>
- <para>The previous example demonstrates effective pool usage in
- <emphasis>both</emphasis> looping and recursive situations.
- Each recursion begins by making a subpool of the pool passed to
- the function. This subpool is used for the looping region, and
- cleared with each iteration. The result is memory usage is
- roughly proportional to the depth of the recursion, not to total
- number of file and directories present as children of the
- top-level directory. When the first call to this recursive
- function finally finishes, there is actually very little data
- stored in the pool that was passed to it. Now imagine the extra
- complexity that would be present if this function had to
- <function>alloc()</function> and <function>free()</function>
- every single piece of data used!</para>
+ <para>Das vorangegangene Beispiel demonstriert den effizienten
+ Einsatz von Pools in <emphasis>beiden</emphasis>
+ Einsatzbereichen — Schleifen und rekursive Aufrufe. Jede
+ Rekursion beginnt mit der Erstellung eines Subpools aus dem Pool
+ der an die Funktion übergeben wurde. Dieser Subpool wird für
+ den Schleifenbereich verwendet und nach jedem Durchlauf geleert.
+ Die Speichernutzung ist dadurch annähernd proportional zur Tiefe
+ der Rekursion und nicht zur Anzahl der vorhandenen Dateien und
+ Verzeichnisse die als Unterverzeichnisse im Top-Level
+ Verzeichnis existieren. Wenn der erste Aufruf dieser rekursiven
+ Funktion endet, sind nur sehr wenig Daten in dem Pool der an
+ diese Funktion übergeben wurde gespeichert. Stellen sie sich
+ die zusätzliche Komplexität vor, die entstehen würde, wenn diese
+ Funktion für jedes Datenelement <function>alloc()</function> und
+ <function>free()</function> aufrufen müsste!</para>
- <para>Pools might not be ideal for every application, but they are
- extremely useful in Subversion. As a Subversion developer,
- you'll need to grow comfortable with pools and how to wield them
- correctly. Memory usage bugs and bloating can be difficult to
- diagnose and fix regardless of the API, but the pool construct
- provided by APR has proven a tremendously convenient,
- time-saving bit of functionality.</para>
+ <para>Pools sind möglicherweise nicht für jede Applikation ideal,
+ aber sie sind extrem nützlich in Subversion. Wenn sie
+ Subversion entwicklen müssen sie sich mit Pools vertraut machen
+ und wie diese korrekt eingesetzt werden. Fehler in der
+ Speicherverwaltung sind unabhängig von der API oft schwierig zu
+ finden und zu beheben, aber das Pool Konstrukt von APR hat sich
+ als extrem angenehme, zeitsparende Funktionalität
+ erwiesen.</para>
</sect1>
@@ -1481,49 +1587,58 @@
<!-- *** SECTION 6: CONTRIBUTING TO SUBVERSION *** -->
<!-- ******************************************************************* -->
<sect1 id="svn-ch-8-sect-6">
- <title>Contributing to Subversion</title>
+ <title>Subversion unterstützen</title>
- <para>The official source of information about the Subversion
- project is, of course, the project's website at <systemitem
- class="url">http://subversion.tigris.org/</systemitem>. There
- you can find information about getting access to the source code
- and participating on the discussion lists. The Subversion
- community always welcomes new members. If you are
- interested in participating in this community by contributing
- changes to the source code, here are some hints on how to get
- started.</para>
+ <para>Die offizielle Informationsquelle über Subversion ist
+ natürlich die Projekt Website unter <systemitem
+ class="url">http://subversion.tigris.org/</systemitem>. Dort
+ finden sie Informationen, wie sie Zugriff auf den Quellcode
+ bekommen und wie sie an Diskussionslisten teilnehmen können.
+ Die Subversions Gemeinschaft freut sich immer über neue
+ Mitglieder. Wenn sie Interesse haben an der Gemeinschaft
+ teilzunehmen indem sie Änderungen am Quellcode beisteuern, dann
+ bieten wir hier einige Tipps für den Beginn.</para>
<!-- ***************************************************************** -->
<sect2 id="svn-ch-8-sect-6.1">
- <title>Join the Community</title>
+ <title>Verbindung mit der Gemeinschaft aufnehmen</title>
- <para>The first step in community participation is to find a way
- to stay on top of the latest happenings. To do this most
- effectively, you will want to subscribe to the main developer
- discussion list (<email>dev@subversion.tigris.org</email>) and
- commit mail list (<email>svn@subversion.tigris.org</email>).
- By following these lists even loosely, you will have access
- to important design discussions, be able to see actual changes
- to Subversion source code as they occur, and be able to
- witness peer reviews of those changes and proposed changes.
- These email based discussion lists are the primary
- communication media for Subversion development. See the
- Mailing Lists section of the website for other
- Subversion-related lists you might be interested in.</para>
-
- <para>But how do you know what needs to be done? It is quite
- common for a programmer to have the greatest intentions of
- helping out with the development, yet be unable to find a good
- starting point. After all, not many folks come to the
- community having already decided on a particular itch they
- would like to scratch. But by watching the developer
- discussion lists, you might see mentions of existing bugs or
- feature requests fly by that particularly interest you. Also,
- a great place to look for outstanding, unclaimed tasks is the
- Issue Tracking database on the Subversion website. There you
- will find the current list of known bugs and feature requests.
- If you want to start with something small, look for issues
- marked as <quote>bite-sized</quote>.</para>
+ <para>Der erste Schritt für die Teilnahme an der Gemeinschaft
+ besteht darin, einen Weg zu finden über die aktuellen
+ Geschehnisse informiert zu sein. Am effizientesten geschieht
+ dies, indem sie sich in die Hauptdiskussionsliste der
+ Entwicklungsgemeinschaft
+ (<email>dev@subversion.tigris.org</email>) und die (*TODO*
+ commit) Mail Liste (<email>svn@subversion.tigris.org</email>)
+ eintragen. Wenn sie diese Listen — wenn auch nur
+ lückenhaft — mitverfolgen, bekommen sie Informationen
+ über wichtige Design Diskussionen, können sie aktuelle
+ Änderungen am Quellcode von Subversion erfahren, sobald diese
+ passieren und können zu diesen Änderungen beziehungsweise
+ angekündigten Änderungen Stellung nehmen. Diese
+ emailbasierten Diskussionslisten sind das primäre
+ Kommunikationsmedium der Entwicklungsgemeinschaft. Siehe auch
+ den Mailing Listen Abschnitt der Website für andere Listen im
+ Zusammenhang mit Subversion, an denen sie eventuell
+ interessiert sein könnten.</para>
+
+ <para>Aber woher wissen sie nun was getan werden muss? Es ist
+ durchaus üblich für ProgrammiererInenn, dass sie die Absicht
+ haben bei der Entwicklung zu helfen, aber keine gute
+ Möglichkeit für den Einstieg finden. Schlussendlich stossen
+ nicht viele Leute zur Gemeinschaft, die sich bereits
+ entschlossenhaben ein bestimmtes Vorhaben zu erledigen. Aber
+ indem sie die Diskussionsliste der Entwicklungsgemeinde
+ verfolgen werden ihnen Fehlerberichte (bugreports) oder
+ Wünsche für zusätzliche Fähigkeiten (feature requests)
+ auffallen, die sie besonders interessieren. Ebenfalls ein
+ grossartiger Platz um nach ausständigen, nicht bearbeiteten
+ Aufgaben Ausschau zu halten, ist die Issue Tracking Datenbank
+ (so in etwa: Problem Verfolgungs Datenbank) auf der Website.
+ Dort finden sie die derzeitige Liste von bekannten Fehlern und
+ Erweiterungswünschen. Wenn sie mit irgendeinem kleinen
+ Problem beginnen wollen, suchen sie nach Einträgen, die als
+ <quote>bite-sized</quote> markiert sind.</para>
</sect2>
@@ -1531,31 +1646,37 @@
<sect2 id="svn-ch-8-sect-6.2">
<title>Get the Source Code</title>
- <para>To edit the code, you need to have the code. This means
- you need to check out a working copy from the public
- Subversion source repository. As straightforward as that
- might sound, the task can be slightly tricky. Because
- Subversion's source code is versioned using Subversion itself,
- you actually need to <quote>bootstrap</quote> by getting a
- working Subversion client via some other method. The most
- common methods include downloading the latest binary
- distribution (if such is available for your platform), or
- downloading the latest source tarball and building your own
- Subversion client. If you build from source, make sure to
- read the <filename>INSTALL</filename> file in the top level of
- the source tree for instructions.</para>
-
- <para>After you have a working Subversion client, you are now
- poised to checkout a working copy of the Subversion source
- repository from <systemitem
- class="url">http://svn.collab.net/repos/svn/trunk/</systemitem>:
+ <para>Um den Code zu bearbeiten, müssen sie diesen zuerst haben.
+ Das heisst sie müssen eine Arbeitskopie aus dem öffentlichen
+ Projektarchiv für den Quellcode von Subversion auschecken. So
+ einfach das klingt, kann die Aufgabe doch geringfügig
+ problematischer sein. Da der Quellcode von Subversion selbst
+ unter der Versionskontrolle von Subversion steht, müssen sie
+ sich derzeit zuerst einen funktionierenden Subversion Clienten
+ über einen anderen Weg besorgen. Die verbreitetsten Methoden
+ sind der Download der letzten Binärversion (wenn eine solche
+ für ihre Plattform verfügbar ist) oder der Download des
+ tarballs mit dem Quellcode und der anschliessende Eigenbau
+ (build) des Subversion Clienten. Wenn sie Subversion aus dem
+ Quellcode erzeugen, dann lesen sie bitte unbedingt die
+ Anleitungen in der <filename>INSTALL</filename> Datei im
+ Basisverzeichnis des installierten Verzeichnisbaumes.</para>
+
+ <para>Nachdem sie einen funktionierenden Subversion Clienten
+ haben, sind sie bereit um eine Arbeitskopie aus dem Subversion
+ Quellcode Projektarchiv <systemitem
+ class="url">http://svn.collab.net/repos/svn/trunk/</systemitem>
+ auszuchecken:
<footnote>
- <para>Note that the URL checked out in the example above
- ends not with <literal>svn</literal>, but with a
- subdirectory thereof called <literal>trunk</literal>. See
- our discussion of Subversion's branching and tagging model
- for the reasoning behind this.</para>
- </footnote></para>
+ <para>Beachten sie, dass die URL, die im obigen Beispiel für
+ das Auschecken verwendet wird nicht bei
+ <literal>svn</literal> endet, sondern mit einem
+ Unterverzeichnis, das hier <literal>trunk</literal>
+ benannt ist. Siehe unsere Diskussion über das Modell für
+ Verzweigungen (branches) und Markierungen (tags) von
+ Subversion für die dahinterliegenden Gründe.</para>
+ </footnote>
+ </para>
<screen>
$ svn checkout http://svn.collab.net/repos/svn/trunk subversion
@@ -1567,16 +1688,18 @@
…
</screen>
- <para>The above command will checkout the bleeding-edge, latest
- version of the Subversion source code into a subdirectory
- named <filename>subversion</filename> in your current working
- directory. Obviously, you can adjust that last argument as
- you see fit. Regardless of what you call the new working copy
- directory, though, after this operation completes, you will
- now have the Subversion source code. Of course, you will
- still need to fetch a few helper libraries (apr, apr-util,
- etc.)—see the <filename>INSTALL</filename> file in the
- top level of the working copy for details.</para>
+ <para>Das obigige Kommando wird die allerneueste Version des
+ Quellcodes von Subversion in das Unterverzeichnis
+ <filename>subversion</filename> in ihrem aktuellen
+ Arbeitsverzeichnis auschecken. Klarerweise können sie das
+ letzte Argument an ihre Bedürfnisse anpassen. Unabhängig
+ davon, wie sie das Verzeichnis mit der neuen Arbeitskopie
+ nennen — nachdem die Operation abgeschlossen ist, haben
+ sie den Quellcode von Subversion auf ihrer Platte. Natürlich
+ müssen sie auch einige Hilfsbibliotheken (apr, apr-util, usw.)
+ holen, sofern nicht bereits vorhanden — Details dazu
+ finden sie in der <filename>INSTALL</filename> Datei im
+ Basisverzeichnis des installierten Verzeichnisbaumes.</para>
</sect2>
@@ -1584,29 +1707,32 @@
<sect2 id="svn-ch-8-sect-6.3">
<title>Become Familiar with Community Policies</title>
- <para>Now that you have a working copy containing the latest
- Subversion source code, you will most certainly want to take a
- cruise through the <filename>HACKING</filename> file in that
- working copy's top-level directory. The
- <filename>HACKING</filename> file contains general
- instructions for contributing to Subversion, including how to
- properly format your source code for consistency with the rest
- of the codebase, how to describe your proposed changes with an
- effective change log message, how to test your changes, and so
- on. Commit privileges on the Subversion source repository are
- earned—a government by meritocracy.
+ <para>Nun da sie eine Arbeitskopie mit dem letzten Quellcode von
+ Subversion haben, wollen sie höchstwahrscheinlich einen Blick
+ in die <filename>HACKING</filename> Datei im Basisverzeichnis
+ der Arbeitskopie werfen. Die <filename>HACKING</filename>
+ Datei enthält allgemeine Anleitungen für Beiträge zu
+ Subversion inklusive den Richtlinien, wie sie ihren Quellcode
+ formatieren sollen, damit dieser zum Rest der Codebasis passt,
+ wie die Beschreibung von Änderungen aussehen soll, um
+ effiziente Log-Nachrichten zu erstellen, wie Änderungen zu
+ testen sind, usw. Übertragungsrechte in das Projektarchiv mit
+ dem Quellcode von Subversion wird erworben — Herrschaft
+ durch Leistung.
<footnote>
- <para>While this may superficially appear as some sort of
- elitism, this <quote>earn your commit privileges</quote>
- notion is about efficiency—whether it costs more in
- time and effort to review and apply someone else's changes
- that are likely to be safe and useful, versus the
- potential costs of undoing changes that are
- dangerous.</para>
+ <para>Obwohl dieses <quote>sie müssen sich ihre
+ Übertragungsrechte verdienen</quote> oberflächlich als
+ eine Art Elitemechanismus erscheint, geht es eigentlich um
+ Effizienz — ob es mehr Zeit und Mühe verursacht
+ Änderungen, die wahrscheinlich sicher und sinnvoll sind
+ vorher zu begutachten und anzuwenden im Vergleich zu dem
+ potentiellen Aufwand gefährliche Ändungen nachträglich
+ wieder zu entfernen.</para>
</footnote>
- The HACKING file is an invaluable resource when it comes to
- making sure that your proposed changes earn the praises they
- deserve without being rejected on technicalities.</para>
+ Die HACKING Datei ist eine unbezahlbare Ressource wenn sie
+ sicherstellt, dass ihre vorgeschlagenen Änderungen die
+ Wertschätzung bekommen, die sie verdienen, ohne wegen
+ Formfehler zurückgewiesen zu werden.</para>
</sect2>
@@ -1614,70 +1740,79 @@
<sect2 id="svn-ch-8-sect-6.4">
<title>Make and Test Your Changes</title>
- <para>With the code and community policy understanding in hand,
- you are ready to make your changes. It is best to try to make
- smaller but related sets of changes, even tackling larger
- tasks in stages, instead of making huge, sweeping
- modifications. Your proposed changes will be easier to
- understand (and therefore easier to review) if you disturb
- the fewest lines of code possible to accomplish your task
- properly. After making each set of proposed changes, your
- Subversion tree should be in a state in which the software
- compiles with no warnings.</para>
+ <para>Mit dem Code und den wohlverstandenen Richtlinien der
+ Gemeinschaft können sie nun darangehen ihre eigenen Änderungen
+ zu machen. Es ist das beste zu versuchen kleinere, aber
+ zusammengehörige Ändungen zu machen, gerade wenn grössere
+ Aufgaben darauf warten angepackt zu werden, anstatt riesige
+ Umwälzungen zu machen. Ihre vorgeschlagenen Änderungen sind
+ leichter zu verstehen (und daher auch leichter zu
+ begutachten), wenn sie die geringstmögliche Anzahl von
+ Codezeilen einsetzen um ihr Ziel sauber zu erreichen. Nach
+ jedem Satz von vorgeschlagenen Änderungen sollte ihre
+ Codebasis in einem Zustand sein, in dem sie ohne Warnungen
+ compiliert werden kann.</para>
- <para>Subversion has a fairly thorough
+ <para>Subversion hat eine wirkich gründliche
<footnote>
- <para>You might want to grab some popcorn.
- <quote>Thorough</quote>, in this instance, translates to
- somewhere in the neighborhood of thirty minutes of
- non-interactive machine churn.</para>
+ <para>Sie sollten sich vielleicht eine Packung Popcorn
+ vergönnen. <quote>Gründlich</quote> bedeutet in diesem
+ Zusammenhang so etwas wie eine halbe Stunde
+ nicht-interaktive Maschinenvolllast.</para>
</footnote>
- regression test suite, and your proposed changes are expected
- to not cause any of those tests to fail. By running
- <command>make check</command> (in Unix) from the top of the
- source tree, you can sanity-check your changes. The fastest
- way to get your code contributions rejected (other than
- failing to supply a good log message) is to submit changes
- that cause failure in the test suite.</para>
+ Regressions Testumgebung und es wird erwartet, dass ihre
+ vorgeschlagenen Änderungen alle vorgesehenen Tests bestehen.
+ Durch den Aufruf von <command>make check</command> (in Unix)
+ im Basisverzeichnis des Quellcodes können sie eine
+ Plausibilitätsprüfung (sanity-check) durchführen. Der
+ schnellste Weg, damit ihre Code Beiträge abgelehnt werden, ist
+ (neben dem Erstellen einer vernünftigen Log-Nachricht) die
+ Übermittlung von Änderungen, welche Fehler in der Testumgebung
+ verursachen.</para>
<!-- ### TODO: Describe building and testing on Windows. -->
- <para>In the best-case scenario, you will have actually added
- appropriate tests to that test suite which verify that your
- proposed changes actually work as expected. In fact,
- sometimes the best contribution a person can make is solely
- the addition of new tests. You can write regression tests for
- functionality that currently works in Subversion as a way to
- protect against future changes that might trigger failure in
- those areas. Also, you can write new tests that demonstrate
- known failures. For this purpose, the Subversion test suite
- allows you to specify that a given test is expected to fail
- (called an <literal>XFAIL</literal>), and so long as
- Subversion fails in the way that was expected, a test result
- of <literal>XFAIL</literal> itself is considered a success.
- Ultimately, the better the test suite, the less time wasted on
- diagnosing potentially obscure regression bugs.</para>
+ <para>Im günstigsten Fall haben sie zusätzliche Tests zu dieser
+ Testumgebung hinzugefügt die überprüfen, dass ihre
+ vorgeschlagenen Änderungen erwartungsgemäss arbeiten. In der
+ Tat, manchmal besteht der beste Beitrag, den jemand leistet
+ darin neue Test bereitzustellen. Sie können Regressionstest
+ für Funktionalitäten schreiben, die derzeit in Subversion
+ korrekt arbeiten, um diese gegen zukünftige Änderungen zu
+ schützen, die vielleicht Fehler in diesen Bereichen mit sich
+ bringen. Sie können auch neue Tests schreiben, um bekannte
+ Fehler aufzuzeigen. Zu diesem Zweck erlaubt die Testumgebung
+ von Subversion, dass sie definieren, dass erwartet wird, dass
+ ein Test fehlschlägt (als <literal>XFAIL</literal> bezeichnet)
+ und solange Subversion in der Art scheitert, wie dies erwartet
+ wird, solange wird das Testresultat von
+ <literal>XFAIL</literal> als erfolgreicher Test gewertet.
+ Schlussendlich gilt, je besser die Testumgebung desto weniger
+ Zeit wird verschwendet um möglicherweise obskure
+ Regressionsfehler zu suchen.</para>
</sect2>
<!-- ***************************************************************** -->
<sect2 id="svn-ch-8-sect-6.5">
- <title>Donate Your Changes</title>
+ <title>Die Änderungen zur Verfügung stellen</title>
- <para>After making your modifications to the source code,
- compose a clear and concise log message to describe those
- changes and the reasons for them. Then, send an email to the
- developers list containing your log message and the output of
- <command>svn diff</command> (from the top of your Subversion
- working copy). If the community members consider your changes
- acceptable, someone who has commit privileges (permission to
- make new revisions in the Subversion source repository) will
- add your changes to the public source code tree. Recall that
- permission to directly commit changes to the repository is
- granted on merit—if you demonstrate comprehension of
- Subversion, programming competency, and a <quote>team
- spirit</quote>, you will likely be awarded that
- permission.</para>
+ <para>Nachdem sie ihre Änderungen am Quellcode vorgenommen
+ haben, erstellen sie eine verständliche und konistente
+ Log-Nachricht, um die Änderungen und die Gründe dafür zu
+ beschreiben. Dann schicken sie eine Email mit ihrer
+ Log-Nachricht und der Ausgabe von <command>svn diff</command>
+ (aufgerufen vom Basisverzeichnis der Arbeitskopie) an die
+ Entwicklungsliste. Wenn die Mitglieder der Gemeinschaft ihre
+ Änderungen als akzeptabel betrachten, dann wird jemand mit
+ Übertragungsrechten (dem Recht eine neue Revision im
+ Projektarchiv von Subversion zu erstellen) ihre Änderungen zum
+ öffentlichen Quellcode hinzufügen. Erinnern sie sich, dass
+ das Recht Änderungen direkt an das Projektarchiv übertragen zu
+ dürfen durch Verdienste erworben wird — wenn sie
+ Verständnis von Subversion beweisen, Programmierkompetenz und
+ <quote>Teamgeist</quote> besitzen, dann wird ihnen
+ wahrscheinlich dieses Recht erteilt werden.</para>
</sect2>
</sect1>
Modified: trunk/doc/translations/german/book/ch09.xml
Url: http://svn.collab.net/viewcvs/svn/trunk/doc/translations/german/book/ch09.xml?vie \
w=diff&rev=10107&p1=trunk/doc/translations/german/book/ch09.xml&r1=10106&p2=trunk/doc/translations/german/book/ch09.xml&r2=10107
==============================================================================
--- trunk/doc/translations/german/book/ch09.xml (original)
+++ trunk/doc/translations/german/book/ch09.xml Wed Jun 30 04:21:38 2004
@@ -1,12 +1,13 @@
-<chapter id="svn-ch-9">
- <title>Subversion Complete Reference</title>
+chapter id="svn-ch-9">
+ <title>Subversion - Komplettreferenz</title>
<simplesect>
- <para>This chapter is intended to be a complete reference to using
- Subversion. This includes the command line client
- (<command>svn</command>) and all its subcommands, as well as the
- repository administration programs (<command>svnadmin</command>
- and <command>svnlook</command>) and their respective subcommands.
+ <para>Dieses Kapitel hat die Absicht eine komplette Referenz für
+ Subversion zur Verfügung zu stellen. Dies umfasst den
+ Kommandozeilen-Client (<command>svn</command>) mit seinen
+ Subkommandos genauso wie die Administrations-Programme für das
+ Projektarchiv (<command>svnadmin</command> und
+ <command>svnlook</command>) mit ihren Subkommandos.
</para>
</simplesect>
@@ -14,48 +15,49 @@
<!-- ======================== SECTION 1 ============================== -->
<!-- ================================================================= -->
<sect1 id="svn-ch-9-sect-1">
- <title>The Subversion Command Line Client:
+ <title>Der Subversion-Kommandozeilen-Client:
<command>svn</command></title>
- <para>To use the command line client, you type
- <command>svn</command>, the subcommand you wish to use
- <footnote><para>Yes, yes, you don't need a subcommand to use the
- <option>--version</option> switch, but we'll get to that in just
- a minute.</para> </footnote>, and any switches or targets that
- you wish to operate on—there is no specific order that the
- subcommand and the switches must appear in. For example, all of
- the following are valid ways to use <command>svn
- status</command>:</para>
-
+ <para>Um den Kommandozeilen-Clienten zu benutzen schreiben sie
+ <command>svn</command>, die Subkommandos die sie benutzen wollen
+ <footnote><para>Ja, ja, sie brauchen kein Subkommando um den
+ <option>--version</option> Optionen zu benutzen, aber zu dem
+ kommen wir in einer Minute.</para> </footnote>, und alle
+ Optionen oder Ziele mit denen sie arbeiten wollen — es
+ gibt keine spezielle Reihenfolge in der die Subkommandos oder
+ Optionen angeordnet sein müssen. Alle folgenden Beispiele sind
+ gültige Möglichkeiten für <command>svn status</command>:</para>
+
<screen>
$ svn -v status
$ svn status -v
$ svn status -v myfile
</screen>
- <para>You can find many more examples of how to use most client
- commands in <xref linkend="svn-ch-3"/> and commands for managing
- properties in <xref linkend="svn-ch-7-sect-2"/>.</para>
-
+ <para>Sie können weitere Beispiele für die meisten Client-Befehle
+ in <xref linkend="svn-ch-3"/> und Befehle zum Verwalten der
+ Eigenschaften (properties) in <xref linkend="svn-ch-7-sect-2"/>
+ finden.</para>
+
<sect2 id="svn-ch-9-sect-1.1">
- <title><command>svn</command> Switches</title>
+ <title><command>svn</command> Optionen</title>
+
+ <para>Obwohl Subversion verschiedene Optionen für die einzelnen
+ Subkommandos hat, sind alle Optionen global — das heisst
+ jede Option hat immer die gleiche Bedeutung, unabhängig vom
+ Subkommando mit der sie gerade verwendet wird. Zum Beispiel
+ bedeutet <option>--verbose</option> (<option>-v</option>)
+ immer <quote>geschwätzige Ausgabe</quote>, unabhängig vom
+ Subkommando mit dem es benutzt wird.</para>
- <para>While Subversion has different switches for its
- subcommands, all switches are global—that is, each
- switch is guaranteed to mean the same thing regardless of
- the subcommand you use it with. For example,
- <option>--verbose</option> (<option>-v</option>) always
- means <quote>verbose output</quote>, regardless of the
- subcommand you use it with.</para>
-
<variablelist>
<varlistentry>
<term><option>--auto-props</option></term>
<listitem>
- <para>Enable auto-props, overriding the
- <literal>enable-auto-props</literal> directive in the
- <filename>config</filename> file.</para>
+ <para>Schaltet auto-props ein, überschreibt die
+ <literal>enable-auto-props</literal> Einstellung der
+ <filename>config</filename> Datei.</para>
</listitem>
</varlistentry>
@@ -63,10 +65,10 @@
<term><option>--config-dir</option>
<replaceable>DIR</replaceable></term>
<listitem>
- <para>Instructs Subversion to read configuration
- information from the specified directory instead
- of the default location (<filename>.subversion</filename>
- in the user's home directory).</para>
+ <para>Weisst Subversion an die Konfiguration vom
+ angegebenen Verzeichnis zu lesen statt vom
+ Standard-Verzeichnis (<filename>.subversion</filename> im
+ Heimatverzeicnis der BenutzerIn).</para>
</listitem>
</varlistentry>
@@ -74,31 +76,34 @@
<term><option>--diff-cmd</option>
<replaceable>CMD</replaceable></term>
<listitem>
- <para>Specifies an external program to use to show
- differences between files. When <command>svn
- diff</command> is invoked, it uses Subversion's internal
- diff engine, which provides unified diffs by default. If
- you want to use an external diff program, use
- <option>--diff-cmd</option>. You can pass switches to the
- diff program with the <option>--extensions</option>
- switch (more on that later in this section).</para>
+ <para>Gibt ein externes Programm an, das verwendet wird um
+ die Unterschiede zwischen Dateien anzuzeigen. Wenn
+ <command>svn diff</command> aufgerufen wird verwendet es
+ die interne Unterschieds-Methode von Subversion, welche
+ standardmässig das vereinte Format zur Verfügung stellt.
+ Wenn sie ein externes Programm benutzen wollen, verwenden
+ sie <option>--diff-cmd</option>. Sie können Optionen an
+ dieses externe Programm mit der
+ <option>--extensions</option> Option übergeben (mehr dazu
+ später in diesem Kapitel).</para>
</listitem>
</varlistentry>
-
+
<varlistentry>
<term><option>--diff3-cmd</option>
<replaceable>CMD</replaceable></term>
<listitem>
- <para>Specifies an external program to use to merge files.</para>
+ <para>Gibt ein externes Programm an, um Dateien
+ zusammenzuführen.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--dry-run</option></term>
<listitem>
- <para>Goes through all the motions of running a command,
- but makes no actual changes—either on disk or in
- the repository. </para>
+ <para>Durchläuft alle Schritte des Kommandos, ohne jedoch
+ Änderungen vorzunehmen — weder lokal noch im
+ Projektarchiv. </para>
</listitem>
</varlistentry>
@@ -106,19 +111,21 @@
<term><option>--editor-cmd</option>
<replaceable>CMD</replaceable></term>
<listitem>
- <para>Specifies an external program to use to edit a log message
- or a property value.</para>
+ <para>Gibt ein externes Programm an, das verwendet wird um
+ eine Log-Nachricht oder eine Eigenschaft (property) zu
+ bearbeiten.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>--encoding</option> <replaceable>ENC</replaceable></term>
+ <term><option>--encoding</option>
+ <replaceable>ENC</replaceable></term>
<listitem>
- <para>Tells Subversion that your commit message is encoded
- in the charset provided. The default is your operating
- system's native locale, and you should specify the
- encoding if your commit message is in any other
- encoding.</para>
+ <para>Teilt Subversion den Zeichensatz mit, der für
+ Nachrichten verwendet wird. Standardmässig wird die
+ Einstellung des Betriebssystems übernommen. Sie sollten
+ den Zeichensatz angeben, wenn ihre Nachrichten einen
+ anderen Zeichensatz verwenden.</para>
</listitem>
</varlistentry>
@@ -126,60 +133,67 @@
<term><option>--extensions</option> (<option>-x</option>)
<replaceable>ARGS</replaceable></term>
<listitem>
- <para>Specifies an argument or arguments that Subversion
- should pass to an external diff command when providing
- differences between files. If you wish to pass multiple
- arguments, you must enclose all of them in quotes (for
- example, <command>svn diff --diff-cmd /usr/bin/diff -x
- "-b -E"</command>). This switch can
- <emphasis>only</emphasis> be used if you also pass the
- <option>--diff-cmd</option> switch.</para>
+ <para>Gibt ein oder mehrere Argumente an, die von
+ Subversion an ein externes diff Programm weitergegeben
+ werden sollen, wenn Unterschiede zwischen Datein
+ festgestellt werden sollen. Wenn sie mehrere Argumente
+ übergeben wollen, müssen sie diese mit Anführungszeichen
+ zusammenfassen. Zum Beispiel <command>svn diff
+ --diff-cmd /usr/bin/diff -x "-b -E"</command>). Diese
+ Option kann <emphasis>nur</emphasis> verwendet werden,
+ wenn sie auch die <option>--diff-cmd</option> Option
+ verwenden.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--file</option> (<option>-F</option>)
- <replaceable>FILENAME</replaceable>
+ <replaceable>DATEINAME</replaceable>
</term>
<listitem>
- <para>Uses the contents of the file passed as an argument
- to this switch for the specified subcommand.</para>
+ <para>Verwendet den Inhalt der Datei, deren Name in dieser
+ Option angegeben wird, für das jeweilige
+ Subkommando.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--force</option></term>
<listitem>
- <para>Forces a particular command or operation to run.
- There are some operations that Subversion will prevent
- you from doing in normal usage, but you can pass the
- force switch to tell Subversion <quote>I know what I'm
- doing as well as the possible repercussions of doing it,
- so let me at 'em</quote>. This switch is the
- programmatic equivalent of doing your own electrical
- work with the power on—if you don't know what
- you're doing, you're likely to get a nasty shock.</para>
+ <para>Erzwingt die Ausführung eines bestimmten Kommandos.
+ Es gibt einige Operationen, bei welchen Subversion unter
+ normalen Umständen eine Ausführung verhindert, aber sie
+ können Subversion mitteilen <quote>Ich weiss was ich
+ mache und über die möglichen Folgen dessen, also lass
+ mich</quote>. Diese Option entspricht einer Arbeit an
+ der Elektrik mit eingeschaltetem Strom — wenn sie
+ nicht wissen, was sie tun werden sie einen
+ fürchterlichen Schock bekommen.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--force-log</option></term>
<listitem>
- <para>Forces a suspicious parameter passed to the
- <option>--message</option> (<option>-m</option>) or
- <option>--file</option> (<option>-F</option>) options to
- be accepted as valid. By default, Subversion will
- produce an error if parameters to these options look
- like they might instead be targets of the subcommand.
- For example, if you pass a versioned file's path to the
- <option>--file</option> (<option>-F</option>) option,
- Subversion will assume you've made a mistake, that the
- path was instead intended as the target of the
- operation, and that you simply failed to provide some
- other—unversioned—file as the source of your log
- message. To assert your intent and override these types
- of errors, pass the <option>--force-log</option> option
- to commands that accept log messages.</para>
+ <para>Erzwingt die Annahme eines fragwürdigen Parameters,
+ welcher an die <option>--message</option>
+ (<option>-m</option>) oder <option>--file</option>
+ (<option>-F</option>) Option übergeben wird.
+ Standardmässig wird Subversion einen Fehler erzeugen
+ wenn Parameter an diese Optionen ausschauen, als ob sie
+ Ziele des Subkommandos wären. Zum Beispiel, wenn sie
+ eine Datei die unter Versionskontrolle steht an die
+ <option>--file</option> (<option>-F</option>) Option,
+ übergeben wird Subversion annehmen, dass sie einen
+ Fehler gemacht haben und dass die Angabe stattdessen als
+ Ziel der Operation gedacht war und dass sie einfach
+ vergessen haben eine andere — nicht unter
+ Versionskontrolle stehende — Datei als
+ Eingabequelle für ihre Log-Nachricht anzugeben. Um ihre
+ Absicht zu bekräftigen und um diese Art von
+ Fehlermeldung zu umgehen geben sie die
+ <option>--force-log</option> Option bei Kommandos an
+ welche Log-Nachrichten akzeptieren.</para>
</listitem>
</varlistentry>
@@ -188,25 +202,28 @@
<option>-?</option>)
</term>
<listitem>
- <para>If used with one or more subcommands, shows the
- built-in help text for each subcommand. If used alone,
- it displays the general client help text.</para>
+ <para>Wenn diese Option mit einem oder mehreren
+ Subkommandos verwendet wird, dann wird die eingebaute
+ Hilfe für jedes Subkommando angezeigt. Wenn sie Option
+ alleine benutzt wird, dann wird ein allgemeiner
+ Hilfe-Text des Client angezeigt.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--ignore-ancestry</option></term>
<listitem>
- <para>Ignore ancestry when calculating differences (rely
- on path contents alone).</para>
+ <para>Ignoriert die Abstammung einer Datei, wenn
+ Unterschiede ermittelt werden (zieht nur den Inhalt zur
+ Ermittlung der Unterschiede heran).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--incremental</option></term>
<listitem>
- <para>Prints output in a format suitable for
- concatenation.</para>
+ <para>Verwendet ein Ausgabeformat, das zur Verkettung
+ geeignet ist.</para>
</listitem>
</varlistentry>
@@ -215,12 +232,12 @@
<replaceable>MESSAGE</replaceable>
</term>
<listitem>
- <para>Indicates that you will specify a commit message
- on the command line, following this switch. For
- example:</para>
+ <para>Erfordert, dass sie eine nach dieser Option eine
+ Nachricht auf der Kommandozeile angeben. Zum
+ Beispiel:</para>
<screen>
-$ svn commit -m "They don't make Sunday."
+$ svn commit -m "Hier steht eine wichtige Information."
</screen>
</listitem>
</varlistentry>
@@ -228,85 +245,87 @@
<varlistentry>
<term><option>--new</option> <replaceable>ARG</replaceable></term>
<listitem>
- <para>Uses <replaceable>ARG</replaceable> as the newer target.</para>
+ <para>Verwende <replaceable>ARG</replaceable> als neueres Ziel.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--no-auth-cache</option></term>
<listitem>
- <para>Prevents caching of authentication information
- (e.g. username and password) in the Subversion
- administrative directories.</para>
+ <para>Verhindert das Zwischenspeichern von
+ Authentifizierungsinformationen (z.B. Benutzername und
+ Passwort) in den administrativen Verzeichnissen von
+ Subversion .</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--no-auto-props</option></term>
<listitem>
- <para>Disable auto-props, overriding the
- <literal>enable-auto-props</literal> directive in the
- <filename>config</filename> file.</para>
+ <para>Schaltet auto-props ab. Überschreibt die
+ <literal>enable-auto-props</literal> Direktive aus der
+ <filename>config</filename> Datei.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--no-diff-deleted</option></term>
<listitem>
- <para>Prevents Subversion from printing differences for
- deleted files. The default behavior when you remove a
- file is for <command>svn diff</command> to print the
- same differences that you would see if you had left
- the file but removed all the content.</para>
+ <para>Verhindert, dass Subversion Differenzen für
+ gelöschte Dateien ausgibt. Das Standardverhalten für
+ <command>svn diff</command> bei gelöschten Dateien ist,
+ dass die Unterschiede so ausgegeben werden, als wenn die
+ Datei vorhanden, aber leer wäre.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--no-ignore</option></term>
<listitem>
- <para>Shows files in the status listing that would
- normally be omitted since they match a pattern in the
- svn:ignore property. See <xref
- linkend="svn-ch-7-sect-1.3.2"/> for more
- information.</para>
+ <para>Zeigt Dateien in der Statusanzeige, die
+ normalerweise weggelassen würden, weil sie auf ein
+ Muster in der svn:ignore Eigenschaft passen. Siehe auch
+ <xref linkend="svn-ch-7-sect-1.3.2"/>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--non-interactive</option></term>
<listitem>
- <para>In the case of an authentication failure, or
- insufficient credentials, prevents prompting for credentials
- (e.g. username or password). This is useful if you're
- running Subversion inside of an automated script and it's
- more appropriate to have Subversion fail than to prompt
- for more information.</para>
+ <para>Verhindert im Falle eines Authentifizierungs-Fehlers
+ oder unzureichender Berechtigungen dass
+ Berechtigungsinformationen (z.B. Benutzername und
+ Passwort) angefordert werden. Das ist hilfreich, wenn
+ Subversion in einem automatischen Stapel läuft und ein
+ scheitern von Subversion sinnvoller ist, als dass
+ zusätzliche Informationen angefordert werden.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--non-recursive</option> (<option>-N</option>)</term>
<listitem>
- <para>Stops a subcommand from recursing into
- subdirectories. Most subcommands recurse by default,
- but some subcommands—usually those that have the
- potential to remove or undo your local
- modifications—do not.</para>
+ <para>Hält ein Subkommando davon ab die Unterverzeichnisse
+ rekursiv abzuarbeiten. Die meisten Subkommandos
+ durchlaufen standardmässig alle Unterverzeichnisse, aber
+ einige — vor allem solche, die möglicherweise
+ lokale Änderungen entfernen oder rückgängig machen
+ — tun dies nicht.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--notice-ancestry</option></term>
<listitem>
- <para>Pay attention to ancestry when calculating
- differences.</para>
+ <para>Berücksichtige die Abstammung, wenn Unterschiede
+ ermittelt werden.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--old</option> <replaceable>ARG</replaceable></term>
<listitem>
- <para>Uses <replaceable>ARG</replaceable> as the older target.</para>
+ <para>Verwende <replaceable>ARG</replaceable> als älteres Ziel.</para>
</listitem>
</varlistentry>
@@ -314,26 +333,27 @@
<term><option>--password</option>
<replaceable>PASS</replaceable></term>
<listitem>
- <para>Indicates that you are providing your password for
- authentication on the command line—otherwise, if
- it is needed, Subversion will prompt you for
- it.</para>
+ <para>Erfordert, dass sie ihr Passwort zur
+ Authentifizierung auf der Kommandozeile angeben —
+ andernfalls wird Subversion danach fragen.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--quiet</option> (<option>-q</option>)</term>
<listitem>
- <para>Requests that the client print only essential
- information while performing an operation.</para>
+ <para>Weist das Programm an nur unverzichtbare
+ Infomationen während der Ausführung einer Operationen
+ anzuzeigen.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--recursive</option> (<option>-R</option>)</term>
<listitem>
- <para>Makes a subcommand recurse into subdirectories.
- Most subcommands recurse by default.</para>
+ <para>Weist ein Subkommando an die Unterverzeichnisse mit
+ einzubeziehen. Die meisten Subkommandos machen dies
+ standardmässig.</para>
</listitem>
</varlistentry>
@@ -341,13 +361,13 @@
<term><option>--relocate</option> <replaceable>FROM TO
[PATH...]</replaceable></term>
<listitem>
- <para>Used with the <command>svn switch</command>
- subcommand, changes the location of the repository that
- your working copy references. This is useful if the
- location of your repository changes and you have an
- existing working copy that you'd like to continue to
- use. See <command>svn switch</command> for an
- example.</para>
+ <para>Wird mit dem <command>svn switch</command>
+ Subkommando benutzt und wechselt die Ortsangabe des
+ Projektarchives auf den die Arbeitskopie verweist. Das
+ ist hilfreich, wenn sich der Ort des Projektarchives
+ ändert und sie eine bestehende Arbeitskopie haben, die
+ sie weiterverwenden wollen. Siehe Beispiel unter
+ <command>svn switch</command>.</para>
</listitem>
</varlistentry>
@@ -356,13 +376,14 @@
<replaceable>REV</replaceable>
</term>
<listitem>
- <para>Indicates that you're going to supply a revision (or
- range of revisions) for a particular operation. You can
- provide revision numbers, revision keywords or dates (in
- curly braces), as arguments to the revision switch. If
- you wish to provide a range of revisions, you can
- provide two revisions separated by a colon. For
- example:</para>
+ <para>Legt fest, dass sie eine Revision (oder einen
+ Bereich von Revisionen) für eine bestimmte Operation
+ verwenden wollen. Sie können Nummern, Schlüsselwörter
+ oder Datumsangaben (in geschwungenen Klammern) als
+ Argument für die Revisions-Option übergeben. Wenn sie
+ einen Bereich von Revisionen verwenden wollen, können
+ sie zwei Revisionen getrennt durch einen Doppelpunkt
+ angeben. Zum Beispiel:</para>
<screen>
$ svn log -r 1729
@@ -380,24 +401,25 @@
<varlistentry>
<term><option>--revprop</option></term>
<listitem>
- <para>Operates on a revision property instead of a
- Subversion property specific to a file or directory.
- This switch requires that you also pass a revision
- with the <option>--revision</option>
- (<option>-r</option>) switch. See <xref
- linkend="svn-ch-5-sect-1.2"/> for more details on
- unversioned properties.</para>
+ <para>Arbeitet mit einer Eigenschaft für Revisionen
+ anstatt mit einer für Dateien oder Verzeichnisse
+ spezifischen Eigenschaft. Diese Option erfordert, dass
+ sie auch eine Revision mit der
+ <option>--revision</option> (<option>-r</option>) Option
+ angeben. Siehe <xref linkend="svn-ch-5-sect-1.2"/> für
+ mehr Details über Eigenschaften, die nicht der
+ Versionskontrolle unterliegen.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--show-updates</option> (<option>-u</option>)</term>
<listitem>
- <para>Causes the client to display information about
- which files in your working copy are out-of-date.
- This doesn't actually update any of your
- files—it just shows you which files will be
- updated if you run <command>svn update </command>.
+ <para>Veranlasst den Client die Dateien der Arbeitskopie
+ anzuzeigen, die nicht am neuesten Stand sind. Es werden
+ keine Dateien aktualisiert — es zeigt nur an,
+ welche Dateien aktualisiert werden, wenn sie
+ <command>svn update </command> ausführen.
</para>
</listitem>
</varlistentry>
@@ -405,32 +427,32 @@
<varlistentry>
<term><option>--stop-on-copy</option></term>
<listitem>
- <para>Causes a Subversion subcommand which is traversing
- the history of a versioned resource to stop harvesting
- that historical information when a copy—that is, a
- location in history where that resource was copied from
- another location in the repository—is
- encountered.</para>
+ <para>Veranlasst ein Subkommando welches die Geschichte
+ einer Einheit, die unter Versionskontrolle steht,
+ durchläuft das Sammeln der Informationen einzustellen,
+ wenn es auf eine Kopie trifft. Das ist dann, wenn die
+ Einheit von einer Stelle im Projektarchiv an eine andere
+ Stelle kopiert wurde.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--strict</option></term>
<listitem>
- <para>Causes Subversion to use strict semantics, a notion
- which is rather vague unless talking about specific
- subcommands.</para>
+ <para>Veranlasst Subversion eine strikte Semantik
+ einzuhalten — eine ziemlich unklare Aussage,
+ solange wir nicht ein bestimmtes Subkommando
+ behandeln.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--targets</option>
- <replaceable>FILENAME</replaceable></term>
+ <replaceable>DATEINAME</replaceable></term>
<listitem>
- <para>Tells Subversion to get the list of files that you
- wish to operate on from the filename you provide
- instead of listing all the files on the command line.
- </para>
+ <para>Weist Subversion an eine Liste von Dateinamen aus
+ der angegebenen Datei zu holen, anstatt die Liste mit
+ den Dateinamen auf der Kommandozeile anzuführen.</para>
</listitem>
</varlistentry>
@@ -438,39 +460,39 @@
<term><option>--username</option>
<replaceable>NAME</replaceable></term>
<listitem>
- <para>Indicates that you are providing your username for
- authentication on the command line—otherwise, if
- it is needed, Subversion will prompt you for
- it.</para>
+ <para>Damit können sie ihren Benutzernamen für die
+ Authentifizierung auf der Kommandozeile angeben —
+ andernfalls wird Subversion sie bei Bedarf danach
+ fragen.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--verbose</option> (<option>-v</option>)</term>
<listitem>
- <para>Requests that the client print out as much
- information as it can while running any subcommand.
- This may result in Subversion printing out additional
- fields, detailed information about every file, or
- additional information regarding its actions.</para>
+ <para>Weist den Client an so viel Information wie möglich
+ bei der Ausführung eines Subkommandos auszugeben. Dies
+ kann bedeuten, dass zusätzliche Felder, detailiertere
+ Information über jede Datei oder zusätzliche Information
+ abhängig von der jeweiligen Aktion angezeigt
+ werden.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--version</option></term>
<listitem>
- <para>Prints the client version info. This information
- not only includes the version number of the client,
- but also a listing of all repository access modules
- that the client can use to access a Subversion
- repository.</para>
+ <para>Zeigt die Version des Client an. Diese Information
+ beinhaltet nicht nur die Versionsnummer des Client,
+ sondern auch alle Projektarchiv-Zugriffsmodule die das
+ Programm beherrscht.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--xml</option></term>
<listitem>
- <para>Prints output in XML format.</para>
+ <para>Formatiert die Ausgabe als XML.</para>
</listitem>
</varlistentry>
@@ -484,38 +506,39 @@
<refentry>
<refnamediv>
<refname>svn add</refname>
- <refpurpose>Adds files and directories</refpurpose>
+ <refpurpose>Fügt Dateien und Verzeichnisse hinzu</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
+ <title>Übersicht</title>
<programlisting>svn add PATH...</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Adds files and directories to your working copy and
- schedules them for addition to the repository. They
- will be uploaded and added to the repository on your
- next commit. If you add something and change your mind
- before committing, you can unschedule the addition using
- <command>svn revert</command>.</para>
+ <para>Fügt Dateien und Verzeichnisse zu ihrer Arbeitskopie
+ hinzu und merkt diese für das Hinzufügen zum Projektarchiv
+ vor. Diese Dateien und Verzeichnisse werden beim nächsen
+ übertragen in das Projektarchiv eingefügt. Wenn sie etwas
+ hinzugefügt haben und sie ändern ihre Meinung vor dem
+ Übertragen können sie dies mittels <command>svn
+ revert</command> wieder rückgängig machen.</para>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
- <para>None</para>
+ <title>Alternative Namen</title>
+ <para>Keine</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Working Copy</para>
+ <title>Ändert</title>
+ <para>Arbeitskopie</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
---targets FILENAME
+--targets DATEINAME
--non-recursive (-N)
--quiet (-q)
--config-dir DIR
@@ -525,17 +548,18 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>To add a file to your working copy:</para>
+ <para>Um eine Datei zu ihrer Arbeitskopie hinzuzugügen:</para>
<screen>
$ svn add foo.c
A foo.c
</screen>
- <para>When adding a directory, the default behavior of
- <command>svn add</command> is to recurse:</para>
+ <para>Wenn sie ein Verzeichnis hinzufügen werden bei
+ <command>svn add</command> standardmässig auch die
+ Unterverzeichnisse einbezogen:</para>
<screen>
$ svn add testdir
@@ -546,12 +570,12 @@
A testdir/d
</screen>
- <para>You can add a directory without adding its
- contents:</para>
+ <para>Sie können auch ein Verzeichnis ohne dessen Dateien
+ hinzufügen:</para>
<screen>
-$ svn add --non-recursive otherdir
-A otherdir
+$ svn add --non-recursive anderesverz
+A anderesverz
</screen>
</refsect1>
</refentry>
@@ -559,40 +583,42 @@
<!-- ================================================================= -->
<refentry>
<refnamediv>
- <refname>svn blame</refname>
- <refpurpose>Shows author and revision information in-line
- for the specified files or URLs.</refpurpose>
+ <refname>svn blame</refname> <refpurpose>Zeigt Information
+ über AutorIn und Revision in einer Zeile mit den
+ Dateinamen für die angegebenen Dateien oder
+ URLs.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svn blame TARGET...</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svn blame ZIEL...</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Shows author and revision information in-line for the
- specified files or URLs. Each line of text is annotated
- at the beginning with the author (username) and the
- revision number for the last change to that line.</para>
+ <para>Zeigt Angaben über AutorIn und Revision in der
+ Zeileninformation für die angegebenen Dateien oder URLs.
+ Jede Textzeile enthält am Beginn die Angabe über AutorIn
+ (Benutzername) und die Revisionsnummer der letzten
+ Änderung für diese Zeile.</para>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
+ <title>Alternative Namen</title>
<para>praise, annotate, ann</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Nothing</para>
+ <title>Ändert</title>
+ <para>Nichts</para>
</refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>Yes</para>
+ <title>Archivzugriff</title>
+ <para>Ja</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
--revision (-r) REV
@@ -605,14 +631,14 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>If you want to see blame annotated source for
- readme.txt in your test repository:</para>
+ <para>Wenn sie die Zuständigkeit für den Text in readme.txt
+ in ihrem Projektarchiv test sehen wollen:</para>
<screen>
$ svn blame http://svn.red-bean.com/repos/test/readme.txt
- 3 sally This is a README file.
- 5 harry You should read this.
+ 3 sally Das ist eine README Datei.
+ 5 harry Sie sollten das lesen.
</screen>
</refsect1>
@@ -622,38 +648,38 @@
<refentry>
<refnamediv>
<refname>svn cat</refname>
- <refpurpose>Outputs the contents of the specified files or
- URLs.</refpurpose>
+ <refpurpose>Gibt den Inhalt der angegebenen Dateien oder
+ URLs aus.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svn cat TARGET...</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svn cat ZIEL...</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Outputs the contents of the specified files or URLs.
- For listing the contents of directories, see <command>svn
+ <para>Gibt den Inhalt der angegebenen Dateien oder URLs aus.
+ Für den Inhalt von Verzeichnissen siehe <command>svn
list</command>.</para>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
- <para>None</para>
+ <title>Alternative Namen</title>
+ <para>Keine</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Nothing</para>
+ <title>Ändert</title>
+ <para>Nichts</para>
</refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>Yes</para>
+ <title>Archivzugriff</title>
+ <para>Ja</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
--revision (-r) REV
@@ -666,32 +692,32 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>If you want to view readme.txt in your repository
- without checking it out:</para>
+ <para>Wenn sie die Datei readme.txt in ihrem Projektarchiv
+ anschauen wollen, ohne die Datei auszuchecken:</para>
<screen>
$ svn cat http://svn.red-bean.com/repos/test/readme.txt
-This is a README file.
-You should read this.
+Das ist eine README Datei.
+Sie sollten das lesen.
</screen>
<tip>
- <para>If your working copy is out of date (or you have
- local modifications) and you want to see the
- <literal>HEAD</literal> revision of a file in your working
- copy, <command>svn cat</command> will automatically fetch
- the <literal>HEAD</literal> revision when you give it a
- path:</para>
+ <para>Wenn ihre Arbeistkopie nicht am neuesten Stand ist
+ (oder sie haben lokale Veränderungen vorgenommen) und
+ sie wollen die <literal>HEAD</literal> Revision einer
+ Datei aus ihrer Arbeitskopie sehen, dann wird
+ <command>svn cat</command> automatisch die
+ <literal>HEAD</literal> Revision holen:</para>
</tip>
<screen>
$ cat foo.c
-This file is in my local working copy
-and has changes that I've made.
+Diese Datei ist meine lokale Arbeitskopie
+und wurde von mir verändert.
$ svn cat foo.c
-Latest revision fresh from the repository!
+Letzte Revision frisch vom Projektarchiv!
</screen>
</refsect1>
@@ -701,42 +727,42 @@
<refentry>
<refnamediv>
<refname>svn checkout</refname>
- <refpurpose>Checks out a working copy from a repository.</refpurpose>
+ <refpurpose>Checkt eine Arbeitskopie vom Projektarchiv aus.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
+ <title>Übersicht</title>
<programlisting>svn checkout URL... [PATH]</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Checks out a working copy from a repository. If
- <replaceable>PATH</replaceable> is omitted, the
- basename of the URL will be used as the
- destination. If multiple URLs are given each will be
- checked out into a sub-directory of PATH, with the
- name of the sub-directory being the basename of the
- URL.</para>
+ <para>Checkt eine Arbeitskopie vom Projektarchiv aus. Wenn
+ <replaceable>PATH</replaceable> fehlt, wird der Basisname
+ (letzter Teil) der URL als Ziel verwendet. Wenn mehrere
+ URLs angegeben werden wird jede in ein eigenes
+ Unterverzeichnis von PATH gelegt wobei der Basisnamen der
+ URL als Namen für das Unterverzeichnis verwendet
+ wird.</para>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
+ <title>Alternative Namen</title>
<para>co</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Creates a working copy.</para>
+ <title>Ändert</title>
+ <para>Erstellt eine neue Arbeitskopie.</para>
</refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>Yes</para>
+ <title>Archivzugriff</title>
+ <para>Ja</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
--revision (-r) REV
@@ -751,64 +777,61 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>Check out a working copy into a directory called
- 'mine':</para>
+ <para>Checkt eine Arbeitskopie in das Verzeichnis 'mein' aus:</para>
<screen>
-$ svn checkout file:///tmp/repos/test mine
-A mine/a
-A mine/b
-Checked out revision 2.
+$ svn checkout file:///tmp/repos/test mein
+A mein/a
+A mein/b
+Revision 2 ausgecheckt.
$ ls
mine
</screen>
- <para>Check out 2 different directories into two separate
- working copies:</para>
+ <para>Checkt 2 verschiedene Verzeichnisse in zwei getrennte
+ Arbeitskopien aus:</para>
<screen>
$ svn checkout file:///tmp/repos/test file:///tmp/repos/quiz
A test/a
A test/b
-Checked out revision 2.
+Revision 2 ausgecheckt.
A quiz/l
A quiz/m
-Checked out revision 2.
+Revision 2 ausgecheckt.
$ ls
quiz test
</screen>
- <para>Check out 2 different directories into two separate
- working copies, but place both into a directory called
- 'working copies':</para>
+ <para>Checkt 2 verschiedene Verzeichnisse in zwei getrennte
+ Arbeitskopien aus und stellt diese in das Verzeichnis
+ 'arbeitskopien':</para>
<screen>
-$ svn checkout file:///tmp/repos/test file:///tmp/repos/quiz working-copies
-A working-copies/test/a
-A working-copies/test/b
-Checked out revision 2.
-A working-copies/quiz/l
-A working-copies/quiz/m
-Checked out revision 2.
+$ svn checkout file:///tmp/repos/test file:///tmp/repos/quiz arbeitskopien
+A arbeitskopien/test/a
+A arbeitskopien/test/b
+Revision 2 ausgecheckt.
+A arbeitskopien/quiz/l
+A arbeitskopien/quiz/m
+Revision 2 ausgecheckt.
$ ls
-working-copies
+arbeitskopien
</screen>
- <para>If you interrupt a checkout (or something else
- interrupts your checkout like loss of connectivity, etc.),
- you can restart it either by issuing the
- identical checkout command again, or by updating the
- incomplete working copy:</para>
+ <para>Wenn sie ein auschecken unterbrechen (oder das
+ auschecken durch irgendetwas anderes unterbrochen wird,
+ wie z.B. ein Zusammenbruch der Verbindung, etc.), können
+ sie dieses fortsetzen, indem sie entweder das gleiche
+ checkout Kommando wiederholen oder indem sie die
+ unvollständige Arbeitskopie mit update auf den letzten
+ Stand bringen.</para>
<screen>
-$ svn checkout file:///tmp/repos/test test
-A test/a
-A test/b
-^C
-svn: The operation was interrupted
-svn: caught SIGINT
+$ svn checkout file:///tmp/repos/test test A test/a A test/b ^C svn:
+The operation was interrupted svn: caught SIGINT
$ svn checkout file:///tmp/repos/test test
A test/c
@@ -821,7 +844,7 @@
$ svn update
A test/e
A test/f
-Updated to revision 3.
+Aktualisiert auf Revision 3.
</screen>
</refsect1>
@@ -831,50 +854,53 @@
<refentry>
<refnamediv>
<refname>svn cleanup</refname>
- <refpurpose>Recursively clean up the working copy.</refpurpose>
+ <refpurpose>Säubert die Arbeitskopie rekursiv.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
+ <title>Übersicht</title>
<programlisting>svn cleanup [PATH...]</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Recursively clean up the working copy, removing
- locks resuming unfinished operations. If you ever get a
- <quote>working copy locked</quote> error, run this
- command to remove stale locks and get your working copy
- into a usable state again. See <xref
- linkend="svn-ap-b"/>.</para>
+ <para>Säubert die Arbeitskopie rekursiv, entfernt Sperren
+ und setzt unvollständige Operationen fort. Wenn sie
+ jemals einen <quote>working copy locked</quote> Fehler
+ bekommen, sollten sie dieses Kommando ausführen um
+ hängengebliebene Sperren zu beseitigen und um die
+ Arbeitskopie wieder in einen brauchbaren Zustand zu
+ bringen. Siehe auch <xref linkend="svn-ap-b"/>.</para>
- <para>If, for some reason, an <command>svn update</command>
- fails due to a problem running an external diff program
- (e.g. user input or network failure), pass the
- <option>--diff3-cmd</option> to allow cleanup to complete
- any merging with your external diff program. You can also
- specify any configuration directory with the
- <option>--config-dir</option> switch, but you should need
- these switches extremely infrequently.</para>
+ <para>Wenn, aus welchem Grund auch immer, ein <command>svn
+ update</command> wegen einem Problem mit einem externen
+ diff Program (z.B. Eingabefehler oder Netzwerkprobleme)
+ fehlgeschlagen ist, dann müssen sie hier die
+ <option>--diff3-cmd</option> angeben um cleanup die
+ Möglichkeit zu geben das Zusammenführen mit dem externen
+ diff Programm fortzusetzen. Sie können auch jedes
+ Konfigurations-Verzeichnis mit der
+ <option>--config-dir</option> Option angeben, aber sie
+ sollten diese Optionen extrem selten benötigen.</para>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
- <para>None</para>
+ <title>Alternative Namen</title>
+ <para>Keine</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Working copy</para>
+ <title>Ändert</title>
+ <para>Arbeitskopie</para>
</refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>No</para>
+ <title>Archivzugriff</title>
+ <para>Nein</para>
</refsect1>
<refsect1>
- <title>Switches:</title>
+ <title>Optionen</title>
<screen>
--diff3-cmd CMD
@@ -884,12 +910,12 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>Well, there's not much to the examples here as
- <command>svn cleanup</command> generates no output. If
- you pass no PATH, <quote><filename>.</filename></quote> is
- used.</para>
+ <para>Nun, da ist nicht viel zu zeigen, weil <command>svn
+ cleanup</command> keine Ausgaben erzeugt. Wenn sie keinen
+ PATH angeben wird, <quote><filename>.</filename></quote>
+ verwendet.</para>
<screen>
$ svn cleanup
@@ -904,32 +930,35 @@
<refentry>
<refnamediv>
<refname>svn commit</refname>
- <refpurpose>Send changes from your working copy to the \
repository.</refpurpose> + <refpurpose>Überträgt Änderungen ihrer \
Arbeitskopie an das Projektarchiv.</refpurpose> </refnamediv>
<refsect1>
- <title>Synopsis</title>
+ <title>Übersicht</title>
<programlisting>svn commit [PATH...]</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Send changes from your working copy to the
- repository. If you do not supply a log message with your
- commit by using either the <option>--file</option> or
- <option>--message</option> switch,
- <command>svn</command> will launch your editor for you
- to compose a commit message. See the
- <literal>editor-cmd</literal> section in <xref
+ <para>Überträgt Änderungen ihrer Arbeitskopie an das
+ Projektarchiv. Wenn sie keine Log-Nachricht angeben,
+ indem sie entweder die <option>--file</option> oder
+ <option>--message</option> Option benutzen wird
+ <command>svn</command> ihren Editor aufrufen und sie
+ auffordern eine Log-Nachricht zu erstellen. Siehe
+ Abschnitt <literal>editor-cmd</literal> in <xref
linkend="svn-ch-7-sect-1.3.2"/>.</para>
<tip>
- <para>If you begin a commit and Subversion launches your
- editor to compose the commit message, you can still abort
- without committing your changes. If you want to cancel
- your commit, just quit your editor without saving your
- commit message and Subversion will prompt you to either
- abort the commit, continue with no message, or edit the
- message again.</para>
+ <para>Wenn sie eine Übertragung beginnen und Subversion
+ ruft den Editor auf um eine Nachricht zu erstellen,
+ können sie noch immer abbrechen, ohne ihre Änderungen zu
+ übertragen. Wenn sie die Übertragung abbrechen wollen,
+ dann brauchen sie nur den Editor beenden, ohne ihre
+ Log-Nachricht abzuspeichern und Subversion wird
+ nachfragen, was sie machen wollen: entweder die
+ Übertragung abbrechen, fortsetzen ohne eine
+ Log-Nachricht anzugeben oder die Log-Nachricht nochmals
+ bearbeiten.</para>
</tip>
</refsect1>
@@ -937,31 +966,31 @@
<refsect1>
- <title>Alternate Names</title>
- <para>ci (short for <quote>check in</quote> not
- <quote>co</quote>, which is short for
- <quote>checkout</quote>)</para>
+ <title>Alternative Namen</title>
+ <para>ci (kurz für <quote>check in</quote> nicht
+ <quote>co</quote>, welches das Kürzel für
+ <quote>checkout</quote> ist)</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Working copy, repository</para>
+ <title>Ändert</title>
+ <para>Arbeitskopie, Projektarchiv</para>
</refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>Yes</para>
+ <title>Archivzugriff</title>
+ <para>Ja</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
--message (-m) TEXT
---file (-F) FILE
+--file (-F) DATEI
--quiet (-q)
--non-recursive (-N)
---targets FILENAME
+--targets DATEINAME
--force-log
--username USER
--password PASS
@@ -973,22 +1002,23 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>Commit a simple modification to a file with the
- commit message on the command line and an implicit
- target of your current directory \
(<quote><filename>.</filename></quote>):</para> + <para>Überträgt eine \
einfache Änderung einer Datei mit der + Log-Nachricht auf der \
Kommandozeile und dem aktuellen + Verzeichnis \
(<quote><filename>.</filename></quote>) als + impliziten Ziel:</para>
<screen>
-$ svn commit -m "added howto section."
+$ svn commit -m "Howto-Abschnitt eingefügt."
Sending a
Transmitting file data .
Committed revision 3.
</screen>
- <para>Commit a modification to the file
- <filename>foo.c</filename> (explicitly specified on the
- command line) with the commit message in a file named
+ <para>Überträgt eine Änderung in der Datei
+ <filename>foo.c</filename> (explicit angegeben auf der
+ Kommandozeile) mit der Log-Nachricht aus der Datei
<literal>msg</literal>:</para>
<screen>
@@ -998,26 +1028,26 @@
Committed revision 5.
</screen>
- <para>If you want to use a file that's under version
- control for your commit message with
- <option>--file</option>, you need to pass the
- <option>--force-log</option> switch:</para>
+ <para>Wenn sie eine Datei, die unter Versionskontrolle steht
+ für ihre Log-Nachricht mit der <option>--file</option>
+ Option verwenden wollen, müssen sie die
+ <option>--force-log</option> Option angeben:</para>
<screen>
-$ svn commit --file file_under_vc.txt foo.c
+$ svn commit --file datei_unter_vk.txt foo.c
svn: The log message file is under version control
svn: Log message file is a versioned file; use '--force-log' to override
-$ svn commit --force-log --file file_under_vc.txt foo.c
+$ svn commit --force-log --file datei_unter_vk.txt foo.c
Sending foo.c
Transmitting file data .
Committed revision 6.
</screen>
- <para>To commit a file scheduled for deletion:</para>
+ <para>Um die vorgemerkte Löschung einer Datei zu übertragen:</para>
<screen>
-$ svn commit -m "removed file 'c'."
+$ svn commit -m "Ich entfernte Datei 'c'."
Deleting c
Committed revision 7.
@@ -1030,87 +1060,90 @@
<refentry>
<refnamediv>
<refname>svn copy</refname>
- <refpurpose>Copy a file or directory in a working copy or
- in the repository.</refpurpose>
+ <refpurpose>Kopiert eine Datei oder Verzeichnis in einer
+ Arbeitskopie oder im Projektarchiv.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svn copy SRC DST</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svn copy QUELLE ZIEL</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Copy a file in a working copy or in the repository.
- <replaceable>SRC</replaceable> and
- <replaceable>DST</replaceable> can each be either a
- working copy (WC) path or URL:</para>
+ <para>Kopiert eine Datei in einer Arbeitskopie oder im Projektarchiv.
+ <replaceable>QUELLE</replaceable> und
+ <replaceable>ZIEL</replaceable> können entweder eine
+ Arbeitskopie (AK) oder eine URL sein:</para>
<variablelist>
<varlistentry>
- <term>WC -> WC</term>
+ <term>AK -> AK</term>
<listitem>
- <para>Copy and schedule an item for
- addition (with history).</para>
+ <para>Kopieren und zum Hinzufügen vormerken
+ (inclusive Historie).</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>WC -> URL</term>
+ <term>AK -> URL</term>
<listitem>
- <para>Immediately commit a copy of WC to URL.</para>
+ <para>Sofort eine Kopie von AK nach URL übertragen.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>URL -> WC</term>
+ <term>URL -> AK</term>
<listitem>
- <para>Check out URL into WC, and schedule it for addition.</para>
+ <para>Eine Kopie von URL nach AK auschecken und zum Hinzufügen \
vormerken.</para> </listitem>
</varlistentry>
<varlistentry>
<term>URL -> URL</term>
<listitem>
- <para>Complete server-side copy. This is
- usually used to branch and tag.</para>
+ <para>Vollständig serverseitige Kopie. Dies wird
+ üblicherweise für Verzweigung (branch) und
+ Markerung (tag) verwendet.</para>
</listitem>
</varlistentry>
</variablelist>
<note>
- <para>You can only copy files within a single repository.
- Subversion does not support cross-repository copying.</para>
+ <para>Sie können Dateien nur innerhalb eines
+ Projektarchives kopieren. Subversion hat keine
+ Unterstützung für das Kopieren zwischen
+ Projektarchiven.</para>
</note>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
+ <title>Alternative Namen</title>
<para>cp</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Repository if destination is a URL.</para>
- <para>Working copy if destination is a WC path.</para>
+ <title>Ändert</title>
+ <para>Projektarchiv, wenn ZIEL eine URL ist.</para>
+ <para>Arbeitskopie, wenn Ziel eine Arbeitskopie ist.</para>
</refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>If source or destination is in the repository, or if needed
- to look up the source revision number.</para>
+ <title>Archivzugriff</title>
+ <para>Wenn Quelle oder Ziel im Projektarchiv ist oder wenn es
+ erforderlich ist die Quell-Revisionsnummer zu ermitteln.</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
--message (-m) TEXT
---file (-F) FILE
+--file (-F) DATEI
--revision (-r) REV
--quiet (-q)
--username USER
@@ -1125,11 +1158,13 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>Copy an item within your working copy (just
- schedules the copy—nothing goes into the repository
- until you commit):</para>
+ <para>Kopiert ein Objekt innerhalb ihrer Arbeitskopie (die
+ lokale Kopie wird sofort erstellt — für das
+ Projektarchiv wird die Aktion nur vorgemerkt und erst
+ durchgeführt, wenn sie die lokalen Änderungen
+ übertragen):</para>
<screen>
$ svn copy foo.txt bar.txt
@@ -1138,56 +1173,62 @@
A + bar.txt
</screen>
- <para>Copy an item in your working copy to a URL in the
- repository (an immediate commit, so you must supply a
- commit message):</para>
+ <para>Kopiert ein Objekt von ihrer Arbeitskopie zu einer URL
+ im Projektarchiv (wird sofort übertragen, daher muss eine
+ Log-Nachricht angegeben werden):</para>
<screen>
-$ svn copy near.txt file:///tmp/repos/test/far-away.txt -m "Remote copy."
+$ svn copy hier.txt file:///tmp/repos/test/weit-weg.txt -m "Langstrecken-Kopie."
Committed revision 8.
</screen>
- <para>Copy an item from the repository to your working
- copy (just schedules the copy—nothing goes into the
- repository until you commit):</para>
+ <para>Kopiert ein Objket vom Projektarchiv in die lokale
+ Arbeitskopie (die lokale Kopie wird sofort erstellt
+ — für das Projektarchiv wird die Aktion nur
+ vorgemerkt und erst durchgeführt, wenn sie die lokalen
+ Änderungen übertragen):</para>
<tip>
- <para>This is the recommended way to resurrect a dead
- file in your repository!</para>
+ <para>Das ist die empfohlene Vorgangsweise um tote Dateien
+ im Projektarchiv wiederzubeleben!</para>
</tip>
<screen>
-$ svn copy file:///tmp/repos/test/far-away near-here
-A near-here
+$ svn copy file:///tmp/repos/test/weit-weg hier
+A hier
</screen>
- <para>And finally, copying between two URLs:</para>
+ <para>Und zum Abschluss das Kopieren zwischen zwei URLs:</para>
<screen>
-$ svn copy file:///tmp/repos/test/far-away file:///tmp/repos/test/over-there -m \
"remote copy." +$ svn copy file:///tmp/repos/test/weit-weg \
file:///tmp/repos/test/da-hinueber -m "Tele-Kopie."
Committed revision 9.
</screen>
<tip>
- <para>This is the easiest way to <quote>tag</quote> a
- revision in your repository—just <command>svn
- copy</command> that revision (usually
- <literal>HEAD</literal>) into your tags directory.</para>
+ <para>Das ist der einfachste Weg um eine Revision in ihrem
+ Projektarchiv mit einer <quote>Marke</quote> (tag) zu
+ versehen — kopieren sie diese Revision
+ (üblicherweise <literal>HEAD</literal>) einfach mit
+ <command>svn copy</command> in ihr tags
+ Verzeichnis.</para>
</tip>
<screen>
-$ svn copy file:///tmp/repos/test/trunk \
file:///tmp/repos/test/tags/0.6.32-prerelease -m "tag tree" +$ svn copy \
file:///tmp/repos/test/trunk file:///tmp/repos/test/tags/0.6.32-prerelease -m \
"markierter Zweig"
Committed revision 12.
</screen>
- <para>And don't worry if you forgot to tag—you can
- always specify an older revision and tag anytime:</para>
+ <para>Und machen sie sich keine Sorgen, wenn sie auf das
+ Erstellen der Markierung vergessen haben — sie
+ können immer eine ältere Revision angeben und die
+ Markierung jederzeit nachholen:</para>
<screen>
-$ svn copy -r 11 file:///tmp/repos/test/trunk \
file:///tmp/repos/test/tags/0.6.32-prerelease -m "Forgot to tag at rev 11" +$ svn \
copy -r 11 file:///tmp/repos/test/trunk file:///tmp/repos/test/tags/0.6.32-prerelease \
-m "Vergass Marke zu Rev 11"
Committed revision 13.
</screen>
@@ -1198,55 +1239,59 @@
<refentry>
<refnamediv>
<refname>svn delete </refname>
- <refpurpose>Delete an item from a working copy
- or the repository.</refpurpose>
+ <refpurpose>Löscht ein Objekt aus der Arbeitskopie oder dem
+ Projektarchiv.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svn delete PATH...</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svn delete PFAD...</programlisting>
<programlisting>svn delete URL...</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Items specified by <replaceable>PATH</replaceable> are scheduled
- for deletion upon the next commit. Files (and
- directories that have not been committed) are
- immediately removed from the working copy. The command
- will not remove any unversioned or modified items; use
- the <option>--force</option> switch to override this
- behavior.</para>
-
- <para>Items specified by URL are deleted from
- the repository via an immediate commit. Multiple URLs are
- committed atomically.</para>
+ <para>Objekte, die über <replaceable>PFAD</replaceable>
+ angesprochen werden, werden für das Löschen bei der
+ nächsten Übertragung vorgemerkt. Dateien (und
+ Verzeichnisse, die noch nicht übertragen wurden) werden
+ sofort von der Arbeitskopie entfernt. Das Kommando wird
+ Datein, die nicht unter Versionskontrolle stehen oder die
+ verändert wurden nicht löschen. Verwenden sie die
+ <option>--force</option> Option um dieses Verhalten zu
+ ändern.</para>
+
+ <para>Objekte die über URL angesprochen werden, werden bei
+ der nächsten Übertragung im Projektarchiv entfernt.
+ Mehrfache URL Angaben werden jede für sich
+ übertragen.</para>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
+ <title>Alternative Namen</title>
<para>del, remove, rm</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Working copy if operating on files, Repository if operating on \
URLs</para> + <title>Ändert</title>
+ <para>Arbeitskopie, wenn die Operation mit Dateiangaben durchgeführt \
wird.</para> + <para>Projektarchiv, wenn die Operation mit URLs durchgeführt \
wird.</para> </refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>Only if operating on URLs</para>
+ <title>Archivzugriff</title>
+ <para>Nur wenn die Operation mit URLs durchgeführt wird</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
--force
--force-log
--message (-m) TEXT
---file (-F) FILE
+--file (-F) DATEI
--quiet (-q)
---targets FILENAME
+--targets DATEINAME
--username USER
--password PASS
--no-auth-cache
@@ -1258,34 +1303,35 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>Using <command>svn</command> to delete a file from
- your working copy merely schedules it to be
- deleted. When you commit, the file is deleted in the
- repository.</para>
+ <para>Verwenden sie <command>svn delete</command> um eine
+ Datei von ihrer Arbeitskopie zu löschen — für das
+ Projektarchiv wird die Aktion nur vorgemerkt und erst
+ durchgeführt, wenn sie die lokalen Änderungen
+ übertragen.</para>
<screen>
-$ svn delete myfile
-D myfile
+$ svn delete meinedatei
+D meinedatei
-$ svn commit -m "Deleted file 'myfile'."
-Deleting myfile
+$ svn commit -m "Lösche Datei 'meinedatei'."
+Deleting meinedatei
Transmitting file data .
Committed revision 14.
</screen>
- <para>Deleting a URL, however, is immediate, so you have
- to supply a log message:</para>
+ <para>Das Löschen einer URL jedoch geschieht sofort, sodass
+ sie eine Log-Nachricht angeben müssen:</para>
<screen>
-$ svn delete -m "Deleting file 'yourfile'" file:///tmp/repos/test/yourfile
+$ svn delete -m "Lösche Datei 'deinedatei'" file:///tmp/repos/test/deinedatei
Committed revision 15.
</screen>
- <para>Here's an example of how to force deletion of a file
- that has local mods:</para>
+ <para>Hier ein Beispiel wie das Löschen einer geänderten
+ Datei durchgesetzt werden kann:</para>
<screen>
$ svn delete over-there
@@ -1304,141 +1350,144 @@
<refentry>
<refnamediv>
<refname>svn diff</refname>
- <refpurpose>Display the differences between two paths.</refpurpose>
+ <refpurpose>Zeigt die Unterschiede zwischen zwei Dateien.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svn diff [-r N[:M]] [--old OLD-TGT] [--new NEW-TGT] \
[PATH...]</programlisting> + <title>Übersicht</title>
+ <programlisting>svn diff [-r N[:M]] [--old ZIEL-ALT] [--new ZIEL-NEU] \
[PFAD...]</programlisting> <programlisting>svn diff -r N:M URL</programlisting>
<programlisting>svn diff [-r N[:M]] URL1[@N] URL2[@M]</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Display the differences between two paths. The three
- different ways you can use <command>svn diff</command>
- are:</para>
-
- <para><command>svn diff [-r N[:M]] [--old OLD-TGT] [--new
- NEW-TGT] [PATH...]</command> displays the differences
- between <replaceable>OLD-TGT</replaceable> and
- <replaceable>NEW-TGT</replaceable>. If
- <replaceable>PATH</replaceable>s are given, they are
- treated as relative to <replaceable>OLD-TGT</replaceable>
- and <replaceable>NEW-TGT</replaceable> and the output is
- restricted to differences in only those paths.
- <replaceable>OLD-TGT</replaceable> and
- <replaceable>NEW-TGT</replaceable> may be working copy
- paths or
- <replaceable>URL</replaceable><literal>[@</literal><replaceable>REV</replaceable><literal>]</literal>.
- <replaceable>OLD-TGT</replaceable> defaults to the current
- working directory and <replaceable>NEW-TGT</replaceable>
- defaults to <replaceable>OLD-TGT</replaceable>.
- <replaceable>N</replaceable> defaults to
- <literal>BASE</literal> or, if
- <replaceable>OLD-TGT</replaceable> is a URL, to
+ <para>Zeigt die Unterschiede zwischen zwei Dateien. Die
+ drei unterschiedlichen Arten um <command>svn
+ diff</command> zu verwenden sind:</para>
+
+ <para><command>svn diff [-r N[:M]] [--old ZIEL-ALT] [--new
+ ZIEL-NEU] [PFAD...]</command> zeigt die Unterschiede
+ zwischen <replaceable>ZIEL-ALT</replaceable> und
+ <replaceable>ZIEL-NEU</replaceable>. Wenn
+ <replaceable>PFAD</replaceable>e angegeben werden, dann
+ werden diese relativ zum
+ <replaceable>ZIEL-ALT</replaceable> und
+ <replaceable>ZIEL-NEU</replaceable> behandelt und die
+ Ausgabe beschränkt sich auf Unterschiede zwischen diesen
+ Pfaden. <replaceable>ZIEL-ALT</replaceable> and
+ <replaceable>ZIEL-NEU</replaceable> können Pfade in der
+ Arbeitskopie oder
+ <replaceable>URL</replaceable><literal>[@</literal><replaceable>REV</replaceable><literal>]</literal>
+ sein. <replaceable>ZIEL-ALT</replaceable> nutzt
+ standardmässig das aktuelle Arbeitsverzeichnis und
+ <replaceable>ZIEL-NEU</replaceable> nutzt standardmässig
+ <replaceable>ZIEL-ALT</replaceable>.
+ <replaceable>N</replaceable> nutzt standardmässig
+ <literal>BASE</literal> oder wenn
+ <replaceable>ZIEL-ALT</replaceable> eine URL ist, dann
<literal>HEAD</literal>. <replaceable>M</replaceable>
- defaults to the current working version or, if
- <replaceable>NEW-TGT</replaceable> is a URL, to
- <literal>HEAD</literal>. <command>svn diff -r N</command>
- sets the revision of <replaceable>OLD-TGT</replaceable> to
+ nutzt standardmässig das aktuelle Arbeitsverzeichnis.
+ Wenn <replaceable>ZIEL-NEU</replaceable> eine URL ist,
+ dann wird standardmässig <literal>HEAD</literal> benutzt.
+ <command>svn diff -r N</command> setzt die Revision von
+ <replaceable>ZIEL-ALT</replaceable> auf
<replaceable>N</replaceable>, <command>svn diff -r
- N:M</command> also sets the revision of
- <replaceable>NEW-TGT</replaceable> to
+ N:M</command> setzt ebenfalls die Revision von
+ <replaceable>ZIEL-NEU</replaceable> auf
<replaceable>M</replaceable>.</para>
- <para><command>svn diff -r N:M URL</command> is shorthand
- for <command>svn diff -r N:M --old=URL
+ <para><command>svn diff -r N:M URL</command> ist die
+ Kurzform für <command>svn diff -r N:M --old=URL
--new=URL</command>.</para>
<para><command>svn diff [-r N[:M]] URL1[@N]
- URL2[@M]</command> is shorthand for <command>svn diff [-r
- N[:M]] --old=URL1 --new=URL2</command>.</para>
+ URL2[@M]</command> ist die Kurzform für <command>svn diff
+ [-r N[:M]] --old=URL1 --new=URL2</command>.</para>
- <para>If <replaceable>TARGET</replaceable> is a URL, then
- revs N and M can be given either via the
- <option>--revision</option> or by using
- <quote>@</quote> notation as described earlier.</para>
-
- <para>If <replaceable>TARGET</replaceable> is a working copy
- path, then the <option>--revision</option> switch
- means:</para>
+ <para>Wenn <replaceable>ZIEL</replaceable> eine URL ist,
+ dann können die Revisionen N und M entweder mittels
+ <option>--revision</option> oder über die <quote>@</quote>
+ Notation angegeben werden.</para>
+
+ <para>WENN <replaceable>ZIEL</replaceable> eine Arbeitskopie
+ ist, dann bedeutet die <option>--revision</option>
+ Option:</para>
<variablelist>
<varlistentry>
<term><command>--revision N:M</command></term>
<listitem>
- <para>The server compares
- <replaceable>TARGET</replaceable>@<replaceable>N</replaceable>
- and
- <replaceable>TARGET</replaceable>@<replaceable>M</replaceable>.</para>
+ <para>Der Server vergleicht
+ <replaceable>ZIEL</replaceable>@<replaceable>N</replaceable>
+ und
+ <replaceable>ZIEL</replaceable>@<replaceable>M</replaceable>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><command>--revision N</command></term>
<listitem>
- <para>The client compares
- <replaceable>TARGET</replaceable>@<replaceable>N</replaceable>
- against working copy.</para>
+ <para>Der Client vergleicht
+ <replaceable>ZIEL</replaceable>@<replaceable>N</replaceable>
+ mit der Arbeitskopie.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><command>(no --revision)</command></term>
+ <term><command>(keine --revision)</command></term>
<listitem>
- <para>The client compares base and working copies of
- <replaceable>TARGET</replaceable>.</para>
+ <para>Der Client vergleicht Basis und Arbeitskopien von
+ <replaceable>ZIEL</replaceable>.</para>
</listitem>
</varlistentry>
</variablelist>
- <para>If the alternate syntax is used, the server compares
- <replaceable>URL1</replaceable> and
- <replaceable>URL2</replaceable> at revisions
- <replaceable>N</replaceable> and
- <replaceable>M</replaceable> respectively. If either
- <replaceable>N</replaceable> or
- <replaceable>M</replaceable> are omitted, a value of
- <literal>HEAD</literal> is assumed.</para>
-
- <para>By default, <command>svn diff</command> ignores the
- ancestry of files and merely compares the contents of the
- two files being compared. If you use
- <option>--notice-ancestry</option>, the ancestry of the
- paths in question will be taken into consideration when
- comparing revisions (that is, if you run <command>svn
- diff</command> on two files with identical contents but
- different ancestry you will see the entire contents of the
- file as having been removed and added again).</para>
+ <para>Wenn die alternate Syntax benutzt wird, vergleicht der
+ Server <replaceable>URL1</replaceable> und
+ <replaceable>URL2</replaceable> in den Revisionen
+ <replaceable>N</replaceable> bzw
+ <replaceable>M</replaceable>. Wenn entweder
+ <replaceable>N</replaceable> oder
+ <replaceable>M</replaceable> weggelassen werden, wird
+ <literal>HEAD</literal> angenommen.</para>
+
+ <para>Standardmässig ignoriert, <command>svn diff</command>
+ die Abstammung von Dateien und vergleicht nur den Inhalt
+ Wenn sie <option>--notice-ancestry</option> angeben, wird
+ die Abstammung der betroffenen Dateien berücksichtigt,
+ wenn Revisionen verglichen werden (das ist, wenn sie
+ <command>svn diff</command> für zwei Dateien mit gleichem
+ Inhalt, aber verschiedener Abstammung verwenden, wird der
+ ganze Inhalt der Datei so angezeigt, als ob er zuerst
+ gelöscht und dann wieder hinzugefügt worden wäre).</para>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
+ <title>Alternative Namen</title>
<para>di</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Nothing</para>
+ <title>Ändert</title>
+ <para>Nichts</para>
</refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>For obtaining differences against anything but
- <literal>BASE</literal> revision in your working copy</para>
+ <title>Archivzugriff</title>
+ <para>Bei Vergleichen mit etwas anderem als der
+ <literal>BASIS</literal> Revision in ihrer Arbeitskopie</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
--revision (-r) REV
---old OLD-TARGET
---new NEW-TARGET
+--old ZIEL-ALT
+--new ZIEL-NEU
--extensions (-x) "ARGS"
--non-recursive (-N)
--diff-cmd CMD
@@ -1453,94 +1502,96 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>Compare <literal>BASE</literal> and your working copy
- (one of the most popular uses of <command>svn
- diff</command>):</para>
+ <para>Vergleicht <literal>BASIS</literal> mit ihrer
+ Arbeitskopie (eine der häufigsten Anwendungen von
+ <command>svn diff</command>):</para>
<screen>
$ svn diff COMMITTERS
Index: COMMITTERS
===================================================================
---- COMMITTERS (revision 4404)
-+++ COMMITTERS (working copy)
+--- COMMITTERS (Revision 4404)
++++ COMMITTERS (Arbeitskopie)
</screen>
- <para>See how your working copy's modifications compare
- against an older revision:</para>
+ <para>Vergleicht wie sich ihre Arbeitskopie von einer
+ älteren Revision unterscheiden:</para>
<screen>
$ svn diff -r 3900 COMMITTERS
Index: COMMITTERS
===================================================================
---- COMMITTERS (revision 3900)
-+++ COMMITTERS (working copy)
+--- COMMITTERS (Revision 3900)
++++ COMMITTERS (Arbeitskopie)
</screen>
- <para>Compare revision 3000 to revision 3500 using <quote>@</quote>
- syntax:</para>
+ <para>Vergleiche Revision 3000 mit Revision 3500 unter
+ Verwendung der <quote>@</quote> Syntax:</para>
<screen>
$ svn diff http://svn.collab.net/repos/svn/trunk/COMMITTERS@3000 \
http://svn.collab.net/repos/svn/trunk/COMMITTERS@3500 Index: COMMITTERS
===================================================================
---- COMMITTERS (revision 3000)
-+++ COMMITTERS (revision 3500)
+--- COMMITTERS (Revision 3000)
++++ COMMITTERS (Revision 3500)
…
</screen>
- <para>Compare revision 3000 to revision 3500 using range
- notation (you only pass the one URL in this
- case):</para>
+ <para>Vergleiche Revision 3000 mit Revision 3500 unter
+ Verwendung einer Bereichsangabe (sie übergeben in diesem
+ Fall nur eine URL):</para>
<screen>
$ svn diff -r 3000:3500 http://svn.collab.net/repos/svn/trunk/COMMITTERS
Index: COMMITTERS
===================================================================
---- COMMITTERS (revision 3000)
-+++ COMMITTERS (revision 3500)
+--- COMMITTERS (Revision 3000)
++++ COMMITTERS (Revision 3500)
</screen>
- <para>Compare revision 3000 to revision 3500 of all files in
- <filename>trunk</filename> using range notation:</para>
+ <para>Vergleiche Revision 3000 mit Revision 3500 für alle
+ Dateien in <filename>trunk</filename> unter Verwendung
+ einer Bereichsangabe:</para>
<screen>
$ svn diff -r 3000:3500 http://svn.collab.net/repos/svn/trunk
</screen>
- <para>Compare revision 3000 to revision 3500 of only three
- files in <filename>trunk</filename> using range
- notation:</para>
+ <para>Vergleiche Revision 3000 mit Revision 3500 für nur
+ drei Dateien in <filename>trunk</filename> unter
+ Verwendung einer Bereichsangabe:</para>
<screen>
$ svn diff -r 3000:3500 --old http://svn.collab.net/repos/svn/trunk COMMITTERS \
README HACKING </screen>
- <para>If you have a working copy, you can obtain the
- differences without typing in the long URLs:</para>
+ <para>Wenn sie eine Arbeitskopie haben, können sie die
+ Unterschiede erhalten ohne die langen URLs
+ anzugeben:</para>
<screen>
$ svn diff -r 3000:3500 COMMITTERS
Index: COMMITTERS
===================================================================
---- COMMITTERS (revision 3000)
-+++ COMMITTERS (revision 3500)
+--- COMMITTERS (Revision 3000)
++++ COMMITTERS (Revision 3500)
</screen>
- <para>Use <option>--diff-cmd</option>
- <replaceable>CMD</replaceable> <option>-x</option> to
- pass arguments directly to the external diff
- program</para>
+ <para>Verwenden sie <option>--diff-cmd</option>
+ <replaceable>CMD</replaceable> <option>-x</option> um
+ Argumente direkt an das externe diff Programm zu
+ übergeben</para>
<screen>
$ svn diff --diff-cmd /usr/bin/diff -x "-i -b" COMMITTERS
Index: COMMITTERS
===================================================================
0a1,2
-> This is a test
+> Das ist ein Text
>
</screen>
@@ -1550,54 +1601,55 @@
<!-- ================================================================= -->
<refentry>
<refnamediv>
- <refname>svn export</refname>
- <refpurpose>Exports a clean directory tree.</refpurpose>
+ <refname>svn export</refname> <refpurpose>Exportiert einen
+ sauberen Verzeichnisbaum.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svn export [-r REV] URL [PATH]</programlisting>
- <programlisting>svn export PATH1 PATH2</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svn export [-r REV] URL [PFAD]</programlisting>
+ <programlisting>svn export PFAD1 PFAD2</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>The first form exports a clean directory tree from the
- repository specified by URL, at revision
- <replaceable>REV</replaceable> if it is given, otherwise
- at <literal>HEAD</literal>, into
- <replaceable>PATH</replaceable>. If
- <replaceable>PATH</replaceable> is omitted, the last
- component of the <replaceable>URL</replaceable> is used
- for the local directory name.</para>
+ <para>Die erste Form exportiert einen sauberen, durch URL
+ festgelegten Verzeichnisbaum, vom Projektarchiv und zwar
+ in der Revision <replaceable>REV</replaceable> sofern
+ angegeben, andernfalls wird <literal>HEAD</literal>
+ verwendet, nach <replaceable>PFAD</replaceable>. Wenn
+ <replaceable>PFAD</replaceable> weggelassen wird, dann
+ wird die letze Komponente von
+ <replaceable>URL</replaceable> als Name für das lokale
+ Verzeichnis genommen.</para>
- <para>The second form exports a clean directory tree from
- the working copy specified by
- <replaceable>PATH1</replaceable> into
- <replaceable>PATH2</replaceable>. All local changes will
- be preserved, but files not under version control will not
- be copied.</para>
+ <para>Die zweite Form exportiert einen sauberen
+ Verzeichnisbaum von der Arbeitskopie
+ <replaceable>PFAD1</replaceable> nach
+ <replaceable>PFAD2</replaceable>. Alle lokalen Änderungen
+ bleiben erhalten, aber Dateien die nicht unter
+ Versionskontrolle stehen werden nicht kopiert.</para>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
- <para>None</para>
+ <title>Alternative Namen</title>
+ <para>Keine</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Local disk</para>
+ <title>Ändert</title>
+ <para>Lokale Platte</para>
</refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>Only if exporting from a URL</para>
+ <title>Archivzugriff</title>
+ <para>Nur wenn von einer URL export wird</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
---revision (-r) REV
+--Revision (-r) REV
--quiet (-q)
--force
--username USER
@@ -1609,25 +1661,25 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>Export from your working copy (doesn't print every
- file and directory):</para>
+ <para>Exportiert von ihrer Arbeitskopie (zeigt keine Dateien
+ und Verzeichnise an):</para>
<screen>
-$ svn export a-wc my-export
-Export complete.
+$ svn export eine-ak mein-export
+Export komplett.
</screen>
- <para>Export directly from the repository (prints every
- file and directory):</para>
+ <para>Exportiert direkt vom Projektarchiv (zeigt alle
+ Dateien und Verzeichnisse an):</para>
<screen>
-$ svn export file:///tmp/repos my-export
-A my-export/test
-A my-export/quiz
+$ svn export file:///tmp/repos mein-export
+A mein-export/test
+A mein-export/quiz
…
-Exported revision 15.
+Revision 15 exportiert.
</screen>
</refsect1>
@@ -1637,36 +1689,36 @@
<refentry>
<refnamediv>
<refname>svn help</refname>
- <refpurpose>Help!</refpurpose>
+ <refpurpose>Hilfe!</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svn help [SUBCOMMAND...]</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svn help [SUBKOMMANDO...]</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>This is your best friend when you're using
- Subversion and this book isn't within reach!</para>
+ <para>Ihr bester Freund wenn sie Subversion benutzen und
+ dieses Buch nicht in Reichweite ist!</para>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
+ <title>Alternative Namen</title>
<para>?, h</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Nothing</para>
+ <title>Ändert</title>
+ <para>Nichts</para>
</refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>No</para>
+ <title>Archivzugriff</title>
+ <para>Nein</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
--version
@@ -1679,45 +1731,45 @@
<refentry>
<refnamediv>
<refname>svn import</refname>
- <refpurpose>Recursively commit a copy of PATH to URL.</refpurpose>
+ <refpurpose>Überträgt rekursiv eine Kopie von PFAD nach URL.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svn import [PATH] URL</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svn import [PFAD] URL</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Recursively commit a copy of
- <replaceable>PATH</replaceable> to
- <replaceable>URL</replaceable>. If
- <replaceable>PATH</replaceable> is omitted
- <quote><filename>.</filename></quote> is assumed. Parent
- directories are created in the repository as
- necessary.</para>
+ <para>Überträgt rekursiv eine Kopie von
+ <replaceable>PFAD</replaceable> nach
+ <replaceable>URL</replaceable>. Wenn
+ <replaceable>PFAD</replaceable> weggelassen wird, dann
+ wird <quote><filename>.</filename></quote> angenommen.
+ Fehlende Elternverzeichnisse im Projektarchiv werden
+ angelegt.</para>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
- <para>None</para>
+ <title>Alternative Namen</title>
+ <para>Keine</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Repository</para>
+ <title>Ändert</title>
+ <para>Projektarchiv</para>
</refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>Yes</para>
+ <title>Archivzugriff</title>
+ <para>Ja</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
--message (-m) TEXT
---file (-F) FILE
+--file (-F) DATEI
--quiet (-q)
--non-recursive (-N)
--username USER
@@ -1734,31 +1786,34 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>This imports the local directory <filename>myproj</filename> into \
the
- root of your repository:</para>
+ <para>Importiert das lokale Verzeichnis
+ <filename>meinproj</filename> in das Basisverzeichnis des
+ Projektarchives:</para>
<screen>
-$ svn import -m "New import" myproj http://svn.red-bean.com/repos/test
-Adding myproj/sample.txt
+$ svn import -m "Neuer Import" meinproj http://svn.red-bean.com/repos/test
+Adding meinproj/beispiel.txt
…
-Transmitting file data .........
-Committed revision 16.
+Übertrage Daten .........
+Revision 16 übertragen.
</screen>
- <para>This imports the local directory <filename>myproj</filename> into
- <filename>trunk/vendors</filename> in your repository. The directory
- <filename>trunk/vendors</filename> need not exist before you import into
- it—<command>svn import</command> will
- recursively create directories for you:</para>
- <screen>
-$ svn import -m "New import" myproj \
- http://svn.red-bean.com/repos/test/trunk/vendors/myproj
-Adding myproj/sample.txt
+ <para>Importiert das lokale Verzeichnis
+ <filename>meinproj</filename> nach
+ <filename>trunk/vendors</filename> in ihrem Projektarchiv.
+ Das Verzeichnis <filename>trunk/vendors</filename> muss
+ vor dem Import nicht existieren — <command>svn
+ import</command> wird fehlende Verzeichnisse rekurisv
+ anlegen:</para>
+ <screen>
+$ svn import -m "Neuer import" meinproj \
+ http://svn.red-bean.com/repos/test/trunk/vendors/meinproj
+Hinzufügen meinproj/beispiel.txt
…
-Transmitting file data .........
-Committed revision 19.
+Übertrage Daten .........
+Revision 19 übertragen.
</screen>
</refsect1>
@@ -1768,95 +1823,95 @@
<refentry>
<refnamediv>
<refname>svn info</refname>
- <refpurpose>Print information about PATHs.</refpurpose>
+ <refpurpose>Zeigt Information über PFADe.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svn info [PATH...]</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svn info [PFAD...]</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Print information about paths in your working copy,
- including:</para>
+ <para>Zeigt Information über Pfade in ihrer Arbeitskopie,
+ inclusive:</para>
<itemizedlist>
- <listitem><para>Path</para></listitem>
+ <listitem><para>Pfad</para></listitem>
<listitem><para>Name</para></listitem>
<listitem><para>URL</para></listitem>
<listitem><para>Revision</para></listitem>
- <listitem><para>Node Kind</para></listitem>
- <listitem><para>Last Changed Author</para></listitem>
- <listitem><para>Last Changed Revision</para></listitem>
- <listitem><para>Last Changed Date</para></listitem>
- <listitem><para>Text Last Updated</para></listitem>
- <listitem><para>Properties Last Updated</para></listitem>
- <listitem><para>Checksum</para></listitem>
+ <listitem><para>Kotentyp</para></listitem>
+ <listitem><para>Letzt. AutorIn</para></listitem>
+ <listitem><para>Letzte Revision</para></listitem>
+ <listitem><para>Letztes Änderungsdatum</para></listitem>
+ <listitem><para>Text zuletzt geändert</para></listitem>
+ <listitem><para>Eigenschaften zuletzt geändert</para></listitem>
+ <listitem><para>Prüfsumme</para></listitem>
</itemizedlist>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
- <para>None</para>
+ <title>Alternative Namen</title>
+ <para>Keine</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Nothing</para>
+ <title>Ändert</title>
+ <para>Nichts</para>
</refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>No</para>
+ <title>Archivzugriff</title>
+ <para>Nein</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
---targets FILENAME
+--targets DATEINAME
--recursive (-R)
--config-dir DIR
</screen>
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para><command>svn info</command> will show you all the
- useful information that it has for items in your working
- copy. It will show information for files:</para>
+ <para><command>svn info</command> zeigt alle nützlichen Informationen
+ die es von Objekten in ihrer Arbeitskopie hat an.
+ Für Dateien wird angezeigt:</para>
<screen>
$ svn info foo.c
-Path: foo.c
+Pfad: foo.c
Name: foo.c
URL: http://svn.red-bean.com/repos/test/foo.c
Revision: 4417
-Node Kind: file
-Schedule: normal
-Last Changed Author: sally
-Last Changed Rev: 20
-Last Changed Date: 2003-01-13 16:43:13 -0600 (Mon, 13 Jan 2003)
-Text Last Updated: 2003-01-16 21:18:16 -0600 (Thu, 16 Jan 2003)
-Properties Last Updated: 2003-01-13 21:50:19 -0600 (Mon, 13 Jan 2003)
-Checksum: /3L38YwzhT93BWvgpdF6Zw==
+Knotentyp: file
+Vorgemerkt: normal
+Letzt. AutorIn: sally
+Letzte Revision: 20
+Letztes Änderungsdatum: 2003-01-13 16:43:13 -0600 (Mon, 13 Jan 2003)
+Text zuletzt geändert: 2003-01-16 21:18:16 -0600 (Thu, 16 Jan 2003)
+Eigenschaften zuletzt geändert: 2003-01-13 21:50:19 -0600 (Mon, 13 Jan 2003)
+Prüfsumme: /3L38YwzhT93BWvgpdF6Zw==
</screen>
- <para>It will also show information for directories:</para>
+ <para>Für Verzeichnisse wird angezeigt:</para>
<screen>
$ svn info vendors
-Path: trunk
+Pfad: trunk
URL: http://svn.red-bean.com/repos/test/vendors
Revision: 19
-Node Kind: directory
-Schedule: normal
-Last Changed Author: harry
-Last Changed Rev: 19
-Last Changed Date: 2003-01-16 23:21:19 -0600 (Thu, 16 Jan 2003)
+Knotentyp: directory
+Vorgemerkt: normal
+Letzt. AutorIn: harry
+Letzte Revision: 19
+Letztes Änderungsdatum: 2003-01-16 23:21:19 -0600 (Thu, 16 Jan 2003)
</screen>
-
+
</refsect1>
</refentry>
@@ -1864,58 +1919,59 @@
<refentry>
<refnamediv>
<refname>svn list</refname>
- <refpurpose>List directory entries in the repository.</refpurpose>
+ <refpurpose>Listet Vereichniseinträge im Projektarchiv.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svn list [TARGET...]</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svn list [ZIEL...]</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>List each <replaceable>TARGET</replaceable> file and
- the contents of each <replaceable>TARGET</replaceable>
- directory as they exist in the repository. If
- <replaceable>TARGET</replaceable> is a working copy path,
- the corresponding repository URL will be used.</para>
+ <para>Listet jede <replaceable>ZIEL</replaceable> Datei und
+ den Inhalt von jedem <replaceable>ZIEL</replaceable>
+ Verzeichnis so wie sie im Projektarchiv existieren. Wenn
+ <replaceable>ZIEL</replaceable> eine Arbeitskopie ist,
+ dann wird die dazugehörige Projektarchiv URL
+ benutzt.</para>
- <para>The default <replaceable>TARGET</replaceable> is
- <quote><filename>.</filename></quote>, meaning the
- repository URL of the current working copy
- directory.</para>
+ <para>Standardmässig wird <replaceable>ZIEL</replaceable>
+ <quote><filename>.</filename></quote> verwendet, also die
+ Projektarchiv URL vom aktuellen Verzeichnis der
+ Arbeitskopie.</para>
- <para>With <option>--verbose</option>, the following fields show
- the status of the item:</para>
+ <para>Mit <option>--verbose</option>, werden folgende
+ Statusfelder angezeigt:</para>
<itemizedlist>
- <listitem><para>Revision number of the last
- commit</para></listitem> <listitem><para>Author of the
- last commit</para></listitem> <listitem><para>Size (in
- bytes)</para></listitem> <listitem><para>Date and time of
- the last commit</para></listitem>
+ <listitem><para>Revisionsnumber der letzten Übertragung
+ </para></listitem> <listitem><para>AutorIn der letzten
+ Übertragung </para></listitem> <listitem><para>Grösse (in
+ Bytes)</para></listitem> <listitem><para>Datum und Uhrzeit
+ der letzen Übertragung</para></listitem>
</itemizedlist>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
+ <title>Alternative Namen</title>
<para>ls</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Nothing</para>
+ <title>Ändert</title>
+ <para>Nichts</para>
</refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>Yes</para>
+ <title>Archivzugriff</title>
+ <para>Ja</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
---revision (-r) REV
+--Revision (-r) REV
--verbose (-v)
--recursive (-R)
--username USER
@@ -1927,11 +1983,11 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para><command>svn list</command> is most useful if you
- want to see what files a repository has without
- downloading a working copy:</para>
+ <para><command>svn list</command> ist meist dann hilfreich,
+ wenn sie sehen wollen welche Dateien ein Projektarchiv hat
+ ohne eine Arbeitskopie herunterzuladen:</para>
<screen>
$ svn list http://svn.red-bean.com/repos/test/support
@@ -1941,9 +1997,9 @@
…
</screen>
- <para>Like UNIX <command>ls</command>, you can also pass
- the <option>--verbose</option> switch for additional
- information:</para>
+ <para>Im Unterschied zum UNIX <command>ls</command>, können
+ sie die <option>--verbose</option> Option für zusätzliche
+ Information verwenden:</para>
<screen>
$ svn list --verbose file:///tmp/repos
@@ -1961,69 +2017,74 @@
<!-- ================================================================= -->
<refentry>
<refnamediv>
- <refname>svn log</refname> <refpurpose>Displays commit log
- messages.</refpurpose>
+ <refname>svn log</refname> <refpurpose>Zeigt die
+ Log-Nachrichten.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svn log [PATH]</programlisting>
- <programlisting>svn log URL [PATH...]</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svn log [PFAD]</programlisting>
+ <programlisting>svn log URL [PFAD...]</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>The default target is the path of your current
- directory. If no arguments are supplied, <command>svn
- log</command> shows the log messages for all files and
- directories inside of (and including) the current working
- directory of your working copy. You can refine the
- results by specifying a path, one or more revisions, or
- any combination of the two. The default revision range
- for a local path is <literal>BASE:1</literal>.</para>
+ <para>Standardmässig wird als Ziel das aktuelle Verzeichnis
+ genommen. Wenn keine Argumente angegeben werden, dann
+ zeigt <command>svn log</command> die Log-Nachrichten von
+ allen Dateien und Verzeichnissen im aktuellen
+ Arbeitsverzeichnis ihrer Arbeitskopie. Sie können das
+ Ergebnis verfeinern indem sie einen Pfad, eine oder
+ mehrere Revisionen oder jede Kombination von beiden
+ angeben. Der standardmässige Revisionsbereich ist
+ <literal>BASE:1</literal>.</para>
- <para>If you specify a URL alone, then it prints log
- messages for everything that the URL contains. If you
- add paths past the URL, only messages for those paths
- under that URL will be printed. The default revision range
- for a URL is <literal>HEAD:1</literal>.</para>
+ <para>Wenn sie eine einzelne URL angeben, dann werden die
+ Log-Nachrichten für alles angezeigt, was in und unterhalb
+ dieser URL liegt. Wenn sie nach der URL auch Pfade
+ angeben, dann werden nur die Log-Nachrichten für diese
+ Pfade unter der URL angezeigt. Der standardmässige
+ Revisionsbereich für eine URL ist
+ <literal>HEAD:1</literal>.</para>
- <para>With <option>--verbose</option>, <command>svn log</command>
- will also print all affected paths with each log message.
- With <option>--quiet</option>, <command>svn log</command>
- will not print the log message body itself (this is
- compatible with <option>--verbose</option>).</para>
+ <para>Mit <option>--verbose</option> wird <command>svn
+ log</command> auch alle betroffenen Pfade zu jeder
+ Log-Nachricht anzeigen. Mit <option>--quiet</option> wird
+ <command>svn log</command> den eigentlichen
+ Nachrichtentext selbst nicht anzeigen (das ist
+ kombinierbar mit <option>--verbose</option>).</para>
- <para>Each log message is printed just once, even if more
- than one of the affected paths for that revision were
- explicitly requested. Logs follow copy history by
- default. Use <option>--stop-on-copy</option> to disable
- this behavior, which can be useful for determining branch
- points.</para>
+ <para>Jede Log-Nachricht wird nur einmal ausgegeben, selbst
+ dann, wenn expizit mehrere Pfade für eine Revision
+ angefordert werden. Standardmässig erlaubt <command>svn
+ log</command> die Verfolgung der Kopier-Historie.
+ Benutzen sie <option>--stop-on-copy</option> um dieses
+ Verhalten abzustellen, was sinnvoll sein kann um die
+ Auflistung bei Abzweigungen (branches) anzuhalten.</para>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
- <para>None</para>
+ <title>Alternative Namen</title>
+ <para>Keine</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Nothing</para>
+ <title>Ändert</title>
+ <para>Nichts</para>
</refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>Yes</para>
+ <title>Archivzugriff</title>
+ <para>Ja</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
---revision (-r) REV
+--Revision (-r) REV
--quiet (-q)
--verbose (-v)
---targets FILENAME
+--targets DATEINAME
--stop-on-copy
--incremental
--xml
@@ -2036,11 +2097,12 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>You can see the log messages for all the paths that
- changed in your working copy by running <command>svn
- log</command> from the top:</para>
+ <para>Sie können die Log-Nachrichten für alle geänderten
+ Pfade in ihrer Arbeitskopie einsehen, indem sie
+ <command>svn log</command> im höchsten Verzeichnis
+ aufrufen:</para>
<screen>
$ svn log
@@ -2053,55 +2115,55 @@
…
</screen>
- <para>Examine all log messages for a particular file in
- your working copy:</para>
+ <para>Zeigt alle Log-Nachrichten für eine einzelne Datei
+ ihrer Arbeitskopie:</para>
<screen>
$ svn log foo.c
------------------------------------------------------------------------
r32 | sally | 2003-01-13 16:43:13 -0600 (Mon, 13 Jan 2003) | 1 line
-Added defines.
+Feinheiten hinzugefügt.
------------------------------------------------------------------------
r28 | sally | 2003-01-07 21:48:33 -0600 (Tue, 07 Jan 2003) | 3 lines
…
</screen>
- <para>If you don't have a working copy handy, you can log
- a URL:</para>
+ <para>Wenn sie keine Arbeitskopie bei der Hand haben, können
+ sie eine URL verwenden:</para>
<screen>
$ svn log http://svn.red-bean.com/repos/test/foo.c
------------------------------------------------------------------------
r32 | sally | 2003-01-13 16:43:13 -0600 (Mon, 13 Jan 2003) | 1 line
-Added defines.
+Feinheiten hinzugefügt.
------------------------------------------------------------------------
r28 | sally | 2003-01-07 21:48:33 -0600 (Tue, 07 Jan 2003) | 3 lines
…
</screen>
- <para>If you want several distinct paths underneath the
- same URL, you can use the <literal>URL [PATH...]</literal>
- syntax.</para>
+ <para>Wenn sie verschiedene Pfade unterhalb der gleichen
+ URL, können sie die <literal>URL [PFAD...]</literal>
+ Syntax verwenden.</para>
<screen>
$ svn log http://svn.red-bean.com/repos/test/ foo.c bar.c
------------------------------------------------------------------------
r32 | sally | 2003-01-13 16:43:13 -0600 (Mon, 13 Jan 2003) | 1 line
-Added defines.
+Feinheiten hinzugefügt.
------------------------------------------------------------------------
r31 | harry | 2003-01-10 12:25:08 -0600 (Fri, 10 Jan 2003) | 1 line
-Added new file bar.c
+Neue Datei bar.c hinzugefügt.
------------------------------------------------------------------------
r28 | sally | 2003-01-07 21:48:33 -0600 (Tue, 07 Jan 2003) | 3 lines
…
</screen>
- <para>That is the same as explicitly placing both URLs on
- the command line:</para>
+ <para>Das hat den gleichen Effekt wie wenn beide URLs in der
+ Kommandozeile angegeben werden:</para>
<screen>
$ svn log http://svn.red-bean.com/repos/test/foo.c \
@@ -2109,14 +2171,14 @@
…
</screen>
- <para>When you're concatenating the results of multiple
- calls to the log command, you may want to use the
- <option>--incremental</option> switch. <command>svn
- log</command> normally prints out a dashed line at the
- beginning of a log message, after each subsequent log
- message, and following the final log message. If you
- ran svn log on a range of two revisions, you would get
- this:</para>
+ <para>Wenn sie die Ergebnisse mehrerer Aufrufe verketten
+ wollen, dann ist die <option>--incremental</option>
+ hilfreich. <command>svn log</command> zeigt normalerweise
+ eine strichlierte Zeile am Beginn der Ausgabe und nach
+ jeder einzelnen Log-Nachricht. Wenn sie <command>svn
+ log</command> für den Bereich von zwei Revisionen
+ aufrufen, würden sie das erhalten:</para>
+
<screen>
$ svn log -r 14:15
------------------------------------------------------------------------
@@ -2128,9 +2190,9 @@
------------------------------------------------------------------------
</screen>
- <para>However, if you wanted to gather 2 non-sequential
- log messages into a file, you might do something like
- this:</para>
+ <para>Wenn sie zwei nicht direkt aufeinanderfolgende
+ Log-Nachrichten in eine Datei ausgeben wollen, dann machen
+ sie das eventuell so:</para>
<screen>
$ svn log -r 14 > mylog
@@ -2151,8 +2213,9 @@
------------------------------------------------------------------------
</screen>
- <para>You can avoid the clutter of the double dashed lines
- in your output by using the incremental switch:</para>
+ <para>Sie können die unnötige zweifache Ausgabe der
+ strichlierten Linien vermeiden, indem sie die
+ <option>--incremental</option> Option verwenden:</para>
<screen>
@@ -2170,33 +2233,34 @@
r27 | ...
</screen>
- <para>The <option>--incremental</option> switch provides
- similar output control when using the
- <option>--xml</option> switch.</para>
+ <para>Die <option>--incremental</option> Option erzeugt eine
+ ähnliche Ausgabe, wenn sie die <option>--xml</option>
+ Option verwenden.</para>
<tip>
- <para>If you run <command>svn log</command> on a specific
- path and provide a specific revision and get no output
- at all</para>
+ <para>Wenn sie <command>svn log</command> auf einen
+ bestimmten Pfad und eine bestimmte Revision anwenden und
+ sie bekommen überhaupt keine Ausgabe</para>
<screen>
$ svn log -r 20 http://svn.red-bean.com/untouched.txt
------------------------------------------------------------------------
</screen>
- <para>That just means that the path was not modified in
- that revision. If you log from the top of the
- repository, or know the file that changed in that
- revision, you can specify it explicitly:</para>
+ <para>Dann bedeutet das, dass dieser Pfad in dieser
+ Revision nicht verändert wurde. Wenn sie von der
+ höchsten Ebene des Projektarchives oder wenn sie die
+ Datei kennen, die sich in dieser Revision geändert hat,
+ dann können sie das explizit angeben:</para>
<screen>
-$ svn log -r 20 touched.txt
+$ svn log -r 20 geaendert.txt
------------------------------------------------------------------------
r20 | sally | 2003-01-17 22:56:19 -0600 (Fri, 17 Jan 2003) | 1 line
-Made a change.
+Es wurde dies und das geändert.
------------------------------------------------------------------------
</screen>
</tip>
@@ -2208,66 +2272,70 @@
<refentry>
<refnamediv>
<refname>svn merge</refname>
- <refpurpose>Apply the differences between two sources to a
- working copy path.</refpurpose>
+ <refpurpose>Übertrage die Unterschiede zwischen zwei Quellen
+ auf einen Pfad in der Arbeitskopie.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svn merge sourceURL1[@N] sourceURL2[@M] \
[WCPATH]</programlisting>
- <programlisting>svn merge -r N:M SOURCE [PATH]</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svn merge QuellURL1[@N] QuellURL2[@M] \
[AKPFAD]</programlisting> + <programlisting>svn merge -r N:M QUELLE \
[PFAD]</programlisting> </refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>In the first form, the source URLs are specified at
- revisions <replaceable>N</replaceable> and
- <replaceable>M</replaceable>. These are the two sources
- to be compared. The revisions default to
- <literal>HEAD</literal> if omitted.</para>
+ <para>In der ersten Form werden die URLs der Quellen für die
+ Revisionen <replaceable>N</replaceable> und
+ <replaceable>M</replaceable> angegeben. Das sind die zwei
+ Quellen die verglichen werden. Wenn die Revisionen
+ weggelassen werden, dann wird standardmässig
+ <literal>HEAD</literal> genommen.</para>
- <para>In the second form, <replaceable>SOURCE</replaceable>
- can be a URL or working copy item, in which case the
- corresponding URL is used. This URL, at revisions
- <replaceable>N</replaceable> and
- <replaceable>M</replaceable>, defines the two sources to
- be compared.</para>
+ <para>In der zweiten Form kann
+ <replaceable>QUELLE</replaceable> eine URL oder ein Objekt
+ aus der Arbeitskopie sein, wofür die korrespondiertende
+ URL ermittelt wird. Diese URL, in den Revisionen
+ <replaceable>N</replaceable> und
+ <replaceable>M</replaceable> legt fest welche zwei Quellen
+ verglichen werden.</para>
- <para><replaceable>WCPATH</replaceable> is the working copy
- path that will receive the changes. If
- <replaceable>WCPATH</replaceable> is omitted, a default
- value of <quote><filename>.</filename></quote> is assumed,
- unless the sources have identical basenames that match a
- file within <quote><filename>.</filename></quote>: in which
- case, the differences will be applied to that file.</para>
+ <para><replaceable>AKPFAD</replaceable> ist der Pfad der
+ Arbeitskopie, auf welchen die Änderungen übertragen
+ werden. Wenn <replaceable>AKPFAD</replaceable>
+ weggelassen wird, dann wird
+ <quote><filename>.</filename></quote> angenommen, ausser
+ die Quellen haben den gleichen Basisnamen, welcher auf
+ eine Datei in <quote><filename>.</filename></quote> passt:
+ in diesem Fall werden die Unterschiede auf diese Datei
+ übertragen.</para>
- <para>Unlike <command>svn diff</command>, the merge command
- takes the ancestry of a file into consideration when
- performing a merge operation. This is very important when
- you're merging changes from one branch into another and
- you've renamed a file on one branch but not the other.
- </para>
+ <para>Im Unterschied zu <command>svn diff</command> nimmt
+ das merge Kommando beim Zusammenführen Rücksicht auf die
+ Abstammung einer Datei. Das ist sehr wichtig, wenn sie
+ Unterschiede von einem Zweig (branch) in einen anderen
+ Zweig übertragen und sie haben eine Datei in einem Zweig
+ umbenannt und im anderen Zweig aber nicht.</para>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
- <para>None</para>
+ <title>Alternative Namen</title>
+ <para>Keine</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Working copy</para>
+ <title>Ändert</title>
+ <para>Arbeitskopie</para>
</refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>Only if working with URLs</para>
+ <title>Archivzugriff</title>
+ <para>Nur wenn mit URLs gearbeitet wird</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
---revision (-r) REV
+--Revision (-r) REV
--non-recursive (-N)
--quiet (-q)
--force
@@ -2283,34 +2351,38 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>Merge a branch back into the trunk (assuming that
- you have a working copy of the trunk, and that the branch
- was created in revision 250):</para>
-
- <screen>
-$ svn merge -r 250:HEAD http://svn.red-bean.com/repos/branches/my-branch
-U myproj/tiny.txt
-U myproj/thhgttg.txt
-U myproj/win.txt
-U myproj/flo.txt
-</screen>
-
- <para>If you branched at revision 23, and you want to
- merge changes on trunk into your branch, you could do
- this from inside the working copy of your branch:</para>
+ <para>Überträgt die Änderungen aus einem Nebenzweig (branch)
+ zurück zum offiziellen Hauptzweig (trunk). Für das
+ Beispiel wird angenommen, dass sie eine Arbeitskopie des
+ Hauptzweiges haben und dass der Nebenzweig in Revision 250
+ erstellt wurde:</para>
+
+ <screen>
+$ svn merge -r 250:HEAD http://svn.red-bean.com/repos/branches/mein-zweig
+U meinproj/tiny.txt
+U meinproj/thhgttg.txt
+U meinproj/win.txt
+U meinproj/flo.txt
+</screen>
+
+ <para>Wenn die Abzweigung bei Revision 23 erfolgte und sie
+ wollen die Änderungen aus dem Hauptzweig auf ihren
+ Nebenzweig übertragen, dann können sie dies von der
+ Arbeitskopie ihres Nebenzweiges aus erledigen:</para>
<screen>
$ svn merge -r 23:30 file:///tmp/repos/trunk/vendors
-U myproj/thhgttg.txt
+U meinproj/thhgttg.txt
…
</screen>
- <para>To merge changes to a single file:</para>
+ <para>Um Änderungen einer einzelnen Datei zu
+ übertragen:</para>
<screen>
-$ cd myproj
+$ cd meinproj
$ svn merge -r 30:31 thhgttg.txt
U thhgttg.txt
</screen>
@@ -2322,48 +2394,49 @@
<refentry>
<refnamediv>
<refname>svn mkdir</refname>
- <refpurpose>Create a new directory under version control.</refpurpose>
+ <refpurpose>Erzeugt ein neues Verzeichnis unter \
Versionskontrolle.</refpurpose> </refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svn mkdir PATH...</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svn mkdir PFAD...</programlisting>
<programlisting>svn mkdir URL...</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Create a directory with a name given by the final
- component of the <replaceable>PATH</replaceable> or URL.
- A directory specified by a working copy
- <replaceable>PATH</replaceable> is scheduled for addition
- in the working copy. A directory specified by a URL is
- created in the repository via an immediate commit.
- Multiple directory URLs are committed atomically. In both
- cases all the intermediate directories must already
- exist.</para>
+ <para>Erzeugt ein Verzeichnis unter Angabe von einem
+ <replaceable>PFAD</replaceable> oder einer URL. Lokale
+ Änderungen werden sofort durchgeführt, für das
+ Projektarchiv wird die Aktion aber nur vorgemerkt und erst
+ durchgeführt, wenn sie die lokalen Änderungen übertragen.
+ Ein Verzeichnis, das eine URL im Projektarchiv angegeben
+ wurde wird durch eine sofortige Übertragung gleich
+ angelegt. Mehrere URLs werden getrennt übertragen. In
+ beiden Fällen müssen die darüberliegenden Verzeichnisse
+ bereits existieren.</para>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
- <para>None</para>
+ <title>Alternative Namen</title>
+ <para>Keine</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Working copy, repository if operating on a URL</para>
+ <title>Ändert</title>
+ <para>Arbeitskopie, das Projektarchiv wenn mit einer URL gearbeitet \
wird</para> </refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>Only if operating on a URL</para>
+ <title>Archivzugriff</title>
+ <para>Nur wenn mit einer URL gearbeitet wird</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
--message (-m) TEXT
---file (-F) FILE
+--file (-F) DATEI
--quiet (-q)
--username USER
--password PASS
@@ -2377,22 +2450,23 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>Create a directory in your working copy:</para>
+ <para>Erstellt ein Verzeichnis in ihrer Arbeitskopie:</para>
<screen>
-$ svn mkdir newdir
-A newdir
+$ svn mkdir neudir
+A neudir
</screen>
- <para>Create one in the repository (instant commit, so a
- log message is required):</para>
+ <para>Erzeugt ein Verzeichnis im Projektarchiv (sofortige
+ Übertragung, daher ist eine Log-Nachricht
+ erforderlich):</para>
<screen>
-$ svn mkdir -m "Making a new dir." http://svn.red-bean.com/repos/newdir
+$ svn mkdir -m "Erstelle ein neues Verzeichnis." \
http://svn.red-bean.com/repos/neudir
-Committed revision 26.
+Revision 26 übertragen.
</screen>
</refsect1>
@@ -2402,45 +2476,47 @@
<refentry>
<refnamediv>
<refname>svn move</refname>
- <refpurpose>Move a file or directory.</refpurpose>
+ <refpurpose>Verschiebt eine Datei oder Verzeichnis.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svn move SRC DST</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svn move QUELLE ZIEL</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>This command moves a file or directory in your
- working copy or in the repository.</para>
+ <para>Das Kommando verschiebt eine Datei oder Verzeichnis in ihrer
+ Arbeitskopie oder im Projektarchiv.</para>
<tip>
- <para>This command is equivalent to an <command>svn
- copy</command> followed by <command>svn
- delete</command>.</para>
+ <para>Das Kommando hat die gleiche Auswirkung wie ein
+ <command>svn copy</command> gefolgt von einem
+ <command>svn delete</command>.</para>
</tip>
<note>
- <para>Subversion does not support moving between working
- copies and URLs. In addition, you can only move files
- within a single repository—Subversion does not
- support cross-repository moving.</para>
+ <para>Subversion unterstützt nicht das Verschieben
+ zwischen Arbeitskopie und URLs. Zusätzlich können sie
+ Dateien nur innerhalb eines einzelnen Projektarchives
+ verschieben — Subversion unterstützt keine
+ Verschiebungen über die Grenzen eines Projektarchives
+ hinweg.</para>
</note>
<variablelist>
<varlistentry>
- <term>WC -> WC</term>
+ <term>AK -> AK</term>
<listitem>
- <para>Move and schedule a file or directory for
- addition (with history).</para>
+ <para>Verschiebt und merkt eine Datei oder Verzeichnis
+ zum Hinzufügen vor (mit Historie).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>URL -> URL</term>
<listitem>
- <para>Complete server-side rename.</para>
+ <para>Ausschliesslich serverseitige Namensänderung.</para>
</listitem>
</varlistentry>
@@ -2448,27 +2524,27 @@
</refsect1>
<refsect1>
- <title>Alternate Names</title>
+ <title>Alternative Namen</title>
<para>mv, rename, ren</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Working copy, repository if operating on a URL</para>
+ <title>Ändert</title>
+ <para>Arbeitskopie, Projektarchiv wenn mit einer URL gearbeitet \
wird</para> </refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>Only if operating on a URL</para>
+ <title>Archivzugriff</title>
+ <para>Nur wenn mit einer URL gearbeitet wird</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
--message (-m) TEXT
---file (-F) FILE
---revision (-r) REV
+--file (-F) DATEI
+--Revision (-r) REV
--quiet (-q)
--force
--username USER
@@ -2483,9 +2559,9 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>Move a file in your working copy:</para>
+ <para>Verschiebt eine Datei in ihrer Arbeitskopie:</para>
<screen>
$ svn move foo.c bar.c
@@ -2493,14 +2569,15 @@
D foo.c
</screen>
- <para>Move a file in the repository (an immediate commit,
- so it requires a commit message): </para>
+ <para>Verschiebt eine Datei im Projektarchiv (sofortige
+ Übertragung, daher ist eine Log-Nachricht erforderlich):
+ </para>
<screen>
$ svn move -m "Move a file" http://svn.red-bean.com/repos/foo.c \
http://svn.red-bean.com/repos/bar.c
-Committed revision 27.
+Revision 27 übertragen.
</screen>
</refsect1>
@@ -2510,44 +2587,45 @@
<refentry>
<refnamediv>
<refname>svn propdel</refname>
- <refpurpose>Remove a property from an item.</refpurpose>
+ <refpurpose>Entferne eine Eigenschaft von einem Objekt.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svn propdel PROPNAME [PATH...]</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svn propdel PROPNAME [PFAD...]</programlisting>
<programlisting>svn propdel PROPNAME --revprop -r REV \
[URL]</programlisting> </refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>This removes properties from files, directories, or
- revisions. The first form removes versioned properties
- in working copy, while the second removes unversioned
- remote properties on a repository revision.</para>
+ <para>Entfernt Eigenschaften von Dateien, Verzeichnissen
+ oder Revisionen. Die erste Form entfernt Eigenschaften
+ mit Versionskontrolle in der Arbeitskopie, während die
+ zweite Eigenschaften ohne Versionskontrolle in einer
+ Revision des Projektarchives entfernt.</para>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
+ <title>Alternative Namen</title>
<para>pdel, pd</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Working copy, repository only if operating on a URL</para>
+ <title>Ändert</title>
+ <para>Arbeitskopie, Projektarchiv nur wenn mit einer URL gearbeitet \
wird</para> </refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>Only if operating on a URL</para>
+ <title>Archivzugriff</title>
+ <para>Nur wenn mit einer URL gearbeitet wird</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
--quiet (-q)
--recursive (-R)
---revision (-r) REV
+--Revision (-r) REV
--revprop
--username USER
--password PASS
@@ -2558,21 +2636,21 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>Delete a property from a file in your working
- copy</para>
+ <para>Löscht eine Eigenschaft von einer Datei in ihrer
+ Arbeitskopie.</para>
<screen>
-$ svn propdel svn:mime-type some-script
-property 'svn:mime-type' deleted from 'some-script'.
+$ svn propdel svn:mime-type irgendein-script
+Eigenschaft 'svn:mime-type' gelöscht von 'irgendein-script'.
</screen>
- <para>Delete a revision property:</para>
+ <para>Löscht die Eigenschaft einer Revisions:</para>
<screen>
$ svn propdel --revprop -r 26 release-date
-property 'release-date' deleted from repository revision '26'
+Eigenschaft 'release-date' gelöscht von Projektarchiv Revision '26'
</screen>
</refsect1>
@@ -2582,43 +2660,45 @@
<refentry>
<refnamediv>
<refname>svn propedit</refname>
- <refpurpose>Edit the property of one or more items under
- version control.</refpurpose>
+ <refpurpose>Bearbeitet die Eigenschaft von einem oder mehreren
+ Objekten unter Versionskontrolle.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svn propedit PROPNAME PATH...</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svn propedit PROPNAME PFAD...</programlisting>
<programlisting>svn propedit PROPNAME --revprop -r REV \
[URL]</programlisting> </refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Edits one or more properties using your favorite
- editor. The first form edits versioned properties in
- your working copy, while the second edits unversioned
- remote properties on a repository revision.</para>
+ <para>Bearbeitet eine oder mehrere Eigenschaften unter
+ Benutzung ihres bevorzugten Editors. Die erste Form
+ bearbeitet Eigenschaften mit Versionskontrolle in ihrer
+ Arbeitskopie, während die zweite Form Eigenschaften ohne
+ Versionskontrolle in einer Revision des Projektarchives
+ bearbeitet.</para>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
+ <title>Alternative Namen</title>
<para>pedit, pe</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Working copy, repository only if operating on a URL</para>
+ <title>Ändert</title>
+ <para>Arbeitskopie, Projektarchiv nur wenn mit einer URL gearbeitet \
wird</para> </refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>Only if operating on a URL</para>
+ <title>Archivzugriff</title>
+ <para>Nur wenn mit einer URL gearbeitet wird</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
---revision (-r) REV
+--Revision (-r) REV
--revprop
--username USER
--password PASS
@@ -2631,18 +2711,20 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para><command>svn propedit</command> makes it easy to
- modify properties that have multiple values:</para>
+ <para><command>svn propedit</command> macht es leicht
+ Änderungen an Eigenschaften, die mehreren Werte halten
+ können, vorzunehmen:</para>
<screen>
$ svn propedit svn:keywords foo.c
- <svn will launch your favorite editor here, with a buffer open
- containing the current contents of the svn:keywords property. You
- can add multiple values to a property easily here by entering one
- value per line.>
-Set new value for property 'svn:keywords' on 'foo.c'
+ <svn wird hier ihren bevorzugten Editor aufrufen und zwar mit
+ einem geöffnetem Buffer, welcher die aktuellen Werte der
+ svn:keywords Eigenschaft enthält. Sie können hier mehrere Werte
+ zu einer Eigenschaft hinzufügen, indem sie einfach einen Wert pro
+ Zeile eingeben.>
+Setze neuen Wert für die Eigenschaft 'svn:keywords' von 'foo.c'
</screen>
</refsect1>
@@ -2652,46 +2734,46 @@
<refentry>
<refnamediv>
<refname>svn propget</refname>
- <refpurpose>Prints the value of a property.</refpurpose>
+ <refpurpose>Zeigt den Wert einer Eigenschaft.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svn propget PROPNAME [PATH...]</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svn propget PROPNAME [PFAD...]</programlisting>
<programlisting>svn propget PROPNAME --revprop -r REV \
[URL]</programlisting> </refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Prints the value of a property on files,
- directories, or revisions. The first form prints the
- versioned property of an item or items in your working
- copy, while the second prints unversioned remote
- property on a repository revision. See <xref
- linkend="svn-ch-7-sect-2"/> for more information on
- properties.</para>
+ <para>Zeigt den Wert einer Eigenschaft von Dateien,
+ Verzeichnissen oder Revisionen. Die erste Form zeigt
+ Eigenschaften unter Versionskontrolle in ihrer
+ Arbeitskopie, während die zweite Form Eigenschaften ohne
+ Versionskontrolle in einer Revision des Projektarchives
+ zeigt. Siehe <xref linkend="svn-ch-7-sect-2"/> für mehr
+ Information über Eigenschaften.</para>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
+ <title>Alternative Namen</title>
<para>pget, pg</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Working copy, repository only if operating on a URL</para>
+ <title>Ändert</title>
+ <para>Arbeitskopie, Projektarchiv nur wenn mit einer URL gearbeitet \
wird</para> </refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>Only if operating on a URL</para>
+ <title>Archivzugriff</title>
+ <para>Nur wenn mit einer URL gearbeitet wird</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
--recursive (-R)
---revision (-r) REV
+--Revision (-r) REV
--revprop
--strict
--username USER
@@ -2703,10 +2785,10 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>Examine a property of a file in your working
- copy:</para>
+ <para>Zeigt eine Eigenschaft von einer Datei in ihrer
+ Arbeitskopie:</para>
<screen>
$ svn propget svn:keywords foo.c
@@ -2715,11 +2797,12 @@
Rev
</screen>
- <para>The same goes for a revision property:</para>
+ <para>Das gleiche für eine Eigenschaft einer
+ Revision:</para>
<screen>
$ svn propget svn:log --revprop -r 20
-Began journal.
+Beginn eines Berichtes.
</screen>
</refsect1>
@@ -2729,44 +2812,45 @@
<refentry>
<refnamediv>
<refname>svn proplist</refname>
- <refpurpose>Lists all properties.</refpurpose>
+ <refpurpose>Zeigt eine Liste aller Eigenschaften.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svn proplist [PATH...]</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svn proplist [PFAD...]</programlisting>
<programlisting>svn proplist --revprop -r REV [URL]</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Lists all properties on files, directories, or
- revisions. The first form lists versioned properties in
- working copy, while the second lists unversioned remote
- properties on a repository revision.</para>
+ <para>Zeigt alle Eigenschaften von einer Datei, Verzeichniss
+ oder Revision. Die erste Form zeigt Eigenschaften unter
+ Versionskontrolle in ihrer Arbeitskopie, während die
+ zweite Form Eigenschaften ohne Versionskontrolle in einer
+ Revision des Projektarchives zeigt.</para>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
+ <title>Alternative Namen</title>
<para>plist, pl</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Working copy, repository only if operating on a URL</para>
+ <title>Ändert</title>
+ <para>Arbeitskopie, Projektarchiv nur wenn mit einer URL gearbeitet \
wird</para> </refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>Only if operating on a URL</para>
+ <title>Archivzugriff</title>
+ <para>Nur wenn mit einer URL gearbeitet wird</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
--verbose (-v)
--recursive (-R)
---revision (-r) REV
+--Revision (-r) REV
--quiet (-q)
--revprop
--username USER
@@ -2778,10 +2862,10 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>You can use proplist to see the properties on an
- item in your working copy:</para>
+ <para>Sie können proplist verwenden um die Eigenschaften
+ eines Objektes in ihrer Arbeitskopie einzusehen:</para>
<screen>
$ svn proplist foo.c
@@ -2791,9 +2875,9 @@
owner
</screen>
- <para>But with the <option>--verbose</option> flag, svn
- proplist is extremely handy as it also shows you the
- values for the properties:</para>
+ <para>Aber so richtig nützlich wird svn proplist mit der
+ <option>--verbose</option> option, weil es dann auch die
+ Werte für die Eigenschaften anzeigt:</para>
<screen>
$ svn proplist --verbose foo.c
@@ -2810,55 +2894,57 @@
<refentry>
<refnamediv>
<refname>svn propset</refname>
- <refpurpose>Set PROPNAME to PROPVAL on files, directories, or \
revisions.</refpurpose> + <refpurpose>Set PROPNAME to PROPVAL on Dateien, \
Verzeichnissen, or Revisions.</refpurpose> </refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svn propset PROPNAME [PROPVAL | -F VALFILE] \
PATH...</programlisting>
- <programlisting>svn propset PROPNAME --revprop -r REV [PROPVAL | -F \
VALFILE] [URL]</programlisting> + <title>Übersicht</title>
+ <programlisting>svn propset PROPNAME [PROPWERT | -F WERTDATEI] \
PFAD...</programlisting> + <programlisting>svn propset PROPNAME --revprop -r \
REV [PROPWERT | -F WERTDATEI] [URL]</programlisting> </refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Set <replaceable>PROPNAME</replaceable> to
- <replaceable>PROPVAL</replaceable> on files, directories,
- or revisions. The first example creates a versioned, local
- property change in the working copy, and the second
- creates an unversioned, remote property change on a
- repository revision.</para>
+ <para>Setzt <replaceable>PROPNAME</replaceable> auf
+ <replaceable>PROPWERT</replaceable> für Dateien,
+ Verzeichnisse oder Revisionen. Die erste Form erzeugt
+ eine Änderung einer Eigenschaft unter Versionskontrolle in
+ der Arbeitskopie, während die zweite Form eine Änderung
+ einer Eigenschaft ohne Versionskontrolle in einer Revision
+ des Projektarchives erzeugt.</para>
<tip>
- <para>Subversion has a number of <quote>special</quote>
- properties that affect its behavior. See <xref
- linkend="svn-ch-7-sect-2.3"/> for more on these
- properties.</para>
+ <para>Subversion hat eine Anzahl von
+ <quote>Special</quote> Eigenschaften, die das Verhalten
+ von svn beeinflussen. Siehe <xref
+ linkend="svn-ch-7-sect-2.3"/> für mehr Informationen zu
+ diesen Eigenschaften.</para>
</tip>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
+ <title>Alternative Namen</title>
<para>pset, ps</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Working copy, repository only if operating on a URL</para>
+ <title>Ändert</title>
+ <para>Arbeitskopie, Projektarchiv nur wenn mit einer URL gearbeitet \
wird</para> </refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>Only if operating on a URL</para>
+ <title>Archivzugriff</title>
+ <para>Nur wenn mit einer URL gearbeitet wird</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
---file (-F) FILE
+--file (-F) DATEI
--quiet (-q)
---revision (-r) REV
---targets FILENAME
+--Revision (-r) REV
+--targets DATEINAME
--recursive (-R)
--revprop
--username USER
@@ -2872,66 +2958,68 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>Set the mimetype on a file:</para>
+ <para>Setzt den Mime-Typ einer Datei:</para>
<screen>
$ svn propset svn:mime-type image/jpeg foo.jpg
-property 'svn:mime-type' set on 'foo.jpg'
+Eigenschaft 'svn:mime-type' gesetzt für 'foo.jpg'
</screen>
- <para>On a UNIX system, if you want a file to have the
- executable permission set:</para>
+ <para>Auf UNIX Systemen, wenn sie für eine Datei das
+ ausführbar Recht setzen wollen:</para>
<screen>
-$ svn propset svn:executable ON somescript
-property 'svn:executable' set on 'somescript'
+$ svn propset svn:executable ON irgendeinscript
+property 'svn:executable' set on 'irgendeinscript'
</screen>
- <para>Perhaps you have an internal policy to set certain
- properties for the benefit of your coworkers:</para>
+ <para>Möglicherweise haben sie eine interne Vorschrift, die
+ verschiedene Eigenschaften verwendet, um das Leben von
+ MitarbeiterInnen an einem Projekt zu erleichtern:</para>
<screen>
$ svn propset owner sally foo.c
property 'owner' set on 'foo.c'
</screen>
- <para>If you made a mistake in a log message for a
- particular revision and want to change it, use
- <option>--revprop</option> and set svn:log to the new
- log message:</para>
+ <para>Wenn sie einen Fehler in einer Log-Nachricht einer
+ bestimmten Revision gemacht haben und sie wollen diese
+ ändern, dann verwenden sie <option>--revprop</option> und
+ setzen svn:log auf die neue Log-Nachricht:</para>
<screen>
-$ svn propset --revprop -r 25 svn:log "Journaled about trip to New York."
-property 'svn:log' set on repository revision '25'
+$ svn propset --revprop -r 25 svn:log "Bericht über die Reise nach New York."
+Eigenschaft 'svn:log' für Revision '25' im Projektarchiv gesetzt
</screen>
- <para>Or, if you don't have a working copy, you can
- provide a URL.</para>
+ <para>Wenn sie keine Arbeitskopie haben können sie eine URL
+ angeben.</para>
<screen>
-$ svn propset --revprop -r 26 svn:log "Document nap." http://svn.red-bean.com/repos
-property 'svn:log' set on repository revision '25'
+$ svn propset --revprop -r 26 svn:log "Zusatz-Dokument." \
http://svn.red-bean.com/repos +Eigenschaft 'svn:log' für Revision '25' im \
Projektarchiv gesetzt </screen>
- <para>Lastly, you can tell propset to take its input from
- a file. You could even use this to set the contents of a
- property to something binary:</para>
+ <para>Sie können propset anweisen seine Eingaben aus einer
+ Datei zu holen. Sie können das einsetzen um den Inhalt
+ einer Eigenschaft mit binären Werte zu versorgen:</para>
<screen>
$ svn propset owner-pic -F sally.jpg moo.c
-property 'owner-pic' set on 'moo.c'
+Eigenschaft 'owner-pic' gesetzt für 'moo.c'
</screen>
<note>
- <para>By default, you cannot modify revision properties
- in a Subversion repository. Your repository
- administrator must explicitly enable revision property
- modifications by creating a hook named
- <literal>pre-revprop-change</literal>. See <xref
- linkend="svn-ch-5-sect-2.1"/> for more information on
- hook scripts.</para>
+ <para>Standardmässig können sie Eigenschaften einer
+ Revision in einem Subversion Projektarchiv nicht ändern.
+ Ihr Projektarchiv Administrator muss die Änderung von
+ Eigenschaften einer Revision ausdrücklich erlauben,
+ indem er einen Haken (hook) mit dem Namen
+ <literal>pre-revprop-change</literal> erzeugt. Siehe
+ <xref linkend="svn-ch-5-sect-2.1"/> für mehr Information
+ zu Haken-Skripte (hook scripts).</para>
</note>
</refsect1>
@@ -2941,46 +3029,48 @@
<refentry>
<refnamediv>
<refname>svn resolved</refname>
- <refpurpose>Remove <quote>conflicted</quote> state on
- working copy files or directories.</refpurpose>
+ <refpurpose>Entfernt den <quote>conflicted</quote> Status von
+ Dateien oder Verzeichnissen in der Arbeitskopie.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svn resolved PATH...</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svn resolved PFAD...</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Remove <quote>conflicted</quote> state on working
- copy files or directories. This routine does not
- semantically resolve conflict markers; it merely removes
- conflict-related artifact files and allows PATH to be
- committed again; that is, it tells Subversion that the
- conflicts have been <quote>resolved</quote>. See <xref
- linkend="svn-ch-3-sect-4.4"/> for an in-depth look at
- resolving conflicts.</para>
+ <para>Entfernt den <quote>conflicted</quote> Status von
+ Dateien oder Verzeichnissen in der Arbeitskopie. Dieses
+ Subkommando löst weder semantisch Konflikte auf, noch
+ entfernt es Konfliktmarken. Es löscht lediglich zum
+ Konflikt gehörende Dateien und ermöglicht es so, dass das
+ Verzeichnis wieder übertragen werden kann. Es teilt
+ Subversion also mit, dass der Konflikt
+ <quote>resolved</quote> (aufgelöst) wurde. Siehe <xref
+ linkend="svn-ch-3-sect-4.4"/> für einen tieferen Einblick in
+ das Auflösen von Konflikten.</para>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
- <para>None</para>
+ <title>Alternative Namen</title>
+ <para>Keine</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Working copy</para>
+ <title>Ändert</title>
+ <para>Arbeitskopie</para>
</refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>No</para>
+ <title>Archivzugriff</title>
+ <para>Nein</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
---targets FILENAME
+--targets DATEINAME
--recursive (-R)
--quiet (-q)
--config-dir DIR
@@ -2988,15 +3078,16 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>If you get a conflict on an update, your working
- copy will sprout three new files:</para>
+ <para>Wenn sie bei einer Aktualisierung einen Konflikt
+ bekommen haben, werden in ihrer Arbeitskopie drei neue
+ Dateien erzeugt:</para>
<screen>
$ svn update
C foo.c
-Updated to revision 31.
+Aktualisiert auf Revision 31.
$ ls
foo.c
foo.c.mine
@@ -3004,18 +3095,19 @@
foo.c.r31
</screen>
- <para>Once you've resolved the conflict and
- <filename>foo.c</filename> is ready to be committed, run
- <command>svn resolved</command> to let your working copy
- know you've taken care of everything.</para>
+ <para>Dann wenn sie den Konflikt aufgelöst haben und
+ <filename>foo.c</filename> wieder bereit zur Übertragung
+ ist, dann rufen sie <command>svn resolved</command> auf,
+ damit ihre Arbeitskopie weiss, dass sie alles notwendige
+ veranlasst haben.</para>
<warning>
- <para>You <emphasis>can</emphasis> just remove the
- conflict files and commit, but <command>svn
- resolved</command> fixes up some bookkeeping data
- in the working copy administrative area in addition
- to removing the conflict files, so we recommend that
- you use this command.</para>
+ <para>Sie <emphasis>können</emphasis> auch nur die
+ konfliktbezogenen Dateien löschen und eine Übertragung
+ durchführen, aber <command>svn resolved</command> bringt
+ zusätzlich einige Evidenzdaten im administrativen
+ Bereich der Arbeitskopie in Ordnung, sodass wir
+ empfehlen dass sie dieses Kommando verwenden.</para>
</warning>
</refsect1>
@@ -3025,45 +3117,47 @@
<refentry>
<refnamediv>
<refname>svn revert</refname>
- <refpurpose>Undo all local edits.</refpurpose>
+ <refpurpose>Macht alle lokalen Änderungen rückgängig.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svn revert PATH...</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svn revert PFAD...</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Reverts any local changes to a file or directory and
- resolves any conflicted states. <command>svn
- revert</command> will not only revert the contents of an
- item in your working copy, but also any property
- changes. Finally, you can use it to undo any scheduling
- operations that you may have done (e.g. files scheduled
- for addition or deletion can be
- <quote>unscheduled</quote>).</para>
+ <para>Macht alle lokalen Änderungen an einer Datei oder
+ einem Verzeichnis rückgängig und löscht alle
+ Konfliktmarken. <command>svn revert</command> macht nicht
+ nur Änderungen am Inhalt eines Objektes in ihrer
+ Arbeitskopie rückgängig, sondern auch Änderungen an
+ Eigenschaften. Schlussendlich können sie es verwenden um
+ vorgemerkte Operationen rückgängig zu machen, die sie
+ vielleicht vorbereitet haben (z.B. Dateien, die zum
+ hinzufügen oder löschen vorgemerkt wurden, können wieder
+ aus der Vormerkung entfernt werden).</para>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
- <para>None</para>
+ <title>Alternative Namen</title>
+ <para>Keine</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Working copy</para>
+ <title>Ändert</title>
+ <para>Arbeitskopie</para>
</refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>No</para>
+ <title>Archivzugriff</title>
+ <para>Nein</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
---targets FILENAME
+--targets DATEINAME
--recursive (-R)
--quiet (-q)
--config-dir DIR
@@ -3071,49 +3165,50 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>Discard changes to a file:</para>
+ <para>Änderungen einer Datei rückgängig machen:</para>
<screen>
$ svn revert foo.c
-Reverted foo.c
+Zurückgenommen foo.c
</screen>
- <para>If you want to revert a whole directory of files,
- use the <option>--recursive</option> flag:</para>
+ <para>Wenn sie die Änderungen an allen Dateien eines
+ Verzeichnisses rückgängig machen wollen, dann verwenden
+ sie die <option>--recursive</option> Option:</para>
<screen>
$ svn revert --recursive .
-Reverted newdir/afile
-Reverted foo.c
-Reverted bar.txt
+Zurückgenommen neudir/afile
+Zurückgenommen foo.c
+Zurückgenommen bar.txt
</screen>
- <para>Lastly, you can undo any scheduling
- operations:</para>
+ <para>Schliesslich können sie alle vorgemerkten Operationen
+ rückgängig machen:</para>
<screen>
-$ svn add mistake.txt whoops
-A mistake.txt
-A whoops
-A whoops/oopsie.c
+$ svn add irrtuemlich.txt hoppala
+A irrtuemlich.txt
+A hoppala
+A hoppala/hopsi.c
-$ svn revert mistake.txt whoops
-Reverted mistake.txt
-Reverted whoops
+$ svn revert irrtuemlich.txt hoppala
+Zurückgenommen irrtuemlich.txt
+Zurückgenommen hoppala
$ svn status
-? mistake.txt
-? whoops
+? irrtuemlich.txt
+? hoppala
</screen>
<note>
- <para>If you provide no targets to <command>svn
- revert</command>, it will do nothing—to protect
- you from accidentally losing changes in your working
- copy, <command>svn revert</command> requires you to
- provide at least one target.</para>
+ <para>Wenn sie keine Ziele für <command>svn
+ revert</command> angeben, dann geschieht nichts —
+ um sie davor zu bewahren irrtümlich Änderungen an ihrer
+ Arbeitskopie zu verlieren, erfordert <command>svn
+ revert</command> die explizite Angabe der Ziele.</para>
</note>
</refsect1>
@@ -3123,179 +3218,183 @@
<refentry>
<refnamediv>
<refname>svn status</refname>
- <refpurpose>Print the status of working copy files and \
directories.</refpurpose> + <refpurpose>Zeigt den Status von Dateien und \
Verzeichnissen in ihrer Arbeitskopie.</refpurpose> </refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svn status [PATH...]</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svn status [PFAD...]</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Print the status of working copy files and
- directories. With no arguments, it prints only locally
- modified items (no repository access). With
- <option>--show-updates</option>, add working revision
- and server out-of-date information. With
- <option>--verbose</option>, print full revision
- information on every item.</para>
+ <para>Zeigt den Status von Dateien und Verzeichnissen in
+ ihrer Arbeitskopie. Ohne Argumente werden nur lokal
+ geänderte Objekte angezeigt (kein Zugriff auf das
+ Projektarchiv). Mit <option>--show-updates</option>
+ werden Arbeitsrevision und 'veraltet' Informationen
+ (out-of-date) hinzugefügt. Mit
+ <option>--verbose</option>, wird die volle
+ Revisionsinformation für jedes Objekt angezeigt.</para>
- <para>The first five columns in the output are each one
- character wide, and each column gives you information
- about different aspects of each working copy
- item.</para>
+ <para>Die ersten fünf Spalten in der Ausgabe sind jeweils
+ einen Buchstaben breit und jede Spalte gibt Auskunft über
+ verschiedene Aspekte der Objekte in der
+ Arbeitskopie.</para>
- <para>The first column indicates that an item
- was added, deleted, or otherwise changed.</para>
+ <para>Die erste Spalte sagt aus, ob das Objekt hinzugefügt,
+ gelöscht, oder in sonstiger Weise verändert wurde.</para>
<variablelist>
<varlistentry>
<term>' '</term>
<listitem>
- <para>No modifications.</para>
+ <para>Keine Änderungen.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>'A'</term>
<listitem>
- <para>Item is scheduled for Addition.</para>
+ <para>Objekt ist vorgemerkt zum Hinzufügen (Added).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>'D'</term>
<listitem>
- <para>Item is scheduled for Deletion.</para>
+ <para>Objekt ist vorgemerkt zum Löschen (Deleted).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>'M'</term>
<listitem>
- <para>Item has been modified.</para>
+ <para>Objekt wurde geändert (Modified).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>'C'</term>
<listitem>
- <para>Item is in conflict with updates received from
- the repository.</para>
+ <para>Objekt steht in Konflikt mit Änderungen, die vom
+ Projektarchiv empfangen wurden (Conflicted).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>'I'</term>
<listitem>
- <para>Item is being ignored (e.g. with the
- svn:ignore property)</para>
+ <para>Objekt wird ignoriert (z.B. über die
+ svn:ignore Eigenschaft)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>'?'</term>
<listitem>
- <para>Item is not under version control.</para>
+ <para>Objekt steht nicht unter Versionskontrolle.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>'!'</term>
<listitem>
- <para>Item is missing (e.g. you moved or deleted it
- without using <command>svn</command>). This also
- indicates that a directory is incomplete (a checkout
- or update was interrupted).</para>
+ <para>Objekt fehlt (z.B. weil es verschoben oder
+ gelöscht wurde, ohne, dass dazu die entsprechenden
+ <command>svn</command> Kommandos verwendet wurden).
+ Es kann auch bedeuten, dass ein Verzeichnis
+ unvollständig ist (z.B. weil ein checkout oder
+ update unterbrochen wurden).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>'~'</term>
<listitem>
- <para>Item is versioned as a directory, but has
- been replaced by a file, or vice versa</para>
+ <para>Das Objekt steht als Verzeichnis unter
+ Versionskontrolle und und wurde durch eine Datei
+ ersetzt oder umgekehrt.</para>
</listitem>
</varlistentry>
</variablelist>
- <para>The second column tells the status of a file's or
- directory's properties.</para>
+ <para>Die zweite Spalte zeigt den Status der Eigenschaften
+ von Dateien oder Verzeichnissen an.</para>
<variablelist>
<varlistentry>
<term>' '</term>
<listitem>
- <para>No modifications.</para>
+ <para>Keine Änderungen.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>'M'</term>
<listitem>
- <para>Properties for this item have been
- modified.</para>
+ <para>Eigenschaften für dieses Objekt wurden geändert
+ (Modified).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>'C'</term>
<listitem>
- <para>Properties for this item are in conflict with
- property updates received from the
- repository.</para>
+ <para>Eigenschaften für dieses Objekt stehen im
+ Konflikt mit Eigenschaften die vom Projektarchiv
+ empfangen wurden (Conflicted).</para>
</listitem>
</varlistentry>
</variablelist>
- <para>The third column is populated only if the
- working copy directory is locked.</para>
+ <para>Die dritte Spalte zeigt an, ob das Objekt in der
+ Arbeitskopie gesperrt ist.</para>
<variablelist>
<varlistentry>
<term>' '</term>
<listitem>
- <para>Item is not locked.</para>
+ <para>Objekt ist nicht gesperrt.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>'L'</term>
<listitem>
- <para>Item is locked.</para>
+ <para>Objekt ist gesperrt (Locked).</para>
</listitem>
</varlistentry>
</variablelist>
- <para>The fourth column is populated only if the item is
- scheduled for addition-with-history.</para>
+ <para>Die vierte Spalte zeigt an, ob ein Objekt für das
+ 'Hinzufügen mit Historie' vorgemerkt ist.</para>
<variablelist>
<varlistentry>
<term>' '</term>
<listitem>
- <para>No history scheduled with commit.</para>
+ <para>Keine Historie für die Übertragung vorgemerkt.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>'+'</term>
<listitem>
- <para>History scheduled with commit.</para>
+ <para>Historie für die Übertragung vorgemerkt.</para>
</listitem>
</varlistentry>
</variablelist>
- <para>The fifth column is populated only if the item is
- switched relative to its parent (see <xref
+ <para>Die fünfte Spalte zeigt an, ob das Objekt relativ zu
+ seinen Eltern umgestellt wurde (siehe <xref
linkend="svn-ch-4-sect-5"/>).</para>
<variablelist>
@@ -3303,73 +3402,75 @@
<varlistentry>
<term>' '</term>
<listitem>
- <para>Item is child of its parent directory.</para>
+ <para>Das Objekt ist ein Kind seines Elternverzeichnisses.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>'S'</term>
<listitem>
- <para>Item is switched.</para>
+ <para>Das Objekt wurde umgestellt (Switched).</para>
</listitem>
</varlistentry>
</variablelist>
- <para>The out-of-date information appears in the eighth
- column (only if you pass the
- <option>--show-updates</option> switch).</para>
+ <para>Die 'veraltet' Information erscheint in der in der
+ achten Spalte (aber nur, wenn die
+ <option>--show-updates</option> Option angegeben
+ wurde).</para>
<variablelist>
<varlistentry>
<term>' '</term>
<listitem>
- <para>The item in your working copy is up-to-date.</para>
+ <para>Das Objekt in der Arbeitskopie ist aktuell.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>'*'</term>
<listitem>
- <para>A newer revision of the item exists on the
- server.</para>
+ <para>Am Server existiert eine neuere Revision des
+ Objektes.</para>
</listitem>
</varlistentry>
</variablelist>
- <para>The remaining fields are variable width and
- delimited by spaces. The working revision is the next
- field if the <option>--show-updates</option> or
- <option>--verbose</option> switches are passed.</para>
+ <para>Die restlichen Felder haben eine variable Breite und
+ sind durch Leerzeichen getrennt. Wenn die
+ <option>--show-updates</option> oder
+ <option>--verbose</option> Option angegeben wurde, dann
+ steht im nächsten Feld die Arbeitsrevision.</para>
- <para>If the <option>--verbose</option> switch is passed,
- the last committed revision and last committed author
- are displayed next.</para>
-
- <para>The working copy path is always the final field, so
- it can include spaces.</para>
+ <para>Wenn die <option>--verbose</option> Option angegeben
+ wurde, dann werden Revision und AutorIn der lezten
+ Übertragung angezeigt.</para>
+
+ <para>Der Objektname ist immer das letzte Feld und kann daher
+ Leerzeichen enthalten.</para>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
+ <title>Alternative Namen</title>
<para>stat, st</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Nothing</para>
+ <title>Ändert</title>
+ <para>Nichts</para>
</refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>Only if using <option>--show-updates</option></para>
+ <title>Archivzugriff</title>
+ <para>Nur wenn die <option>--show-updates</option> Option verwendet \
wird.</para> </refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
--show-updates (-u)
@@ -3386,58 +3487,58 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>This is the easiest way to find out what changes you
- have made to your working copy:</para>
+ <para>Das ist der einfachste Weg um herauszufinden, welche
+ Änderungen sie an ihrer Arbeitskopie gemacht haben:</para>
<screen>
-$ svn status wc
- M wc/bar.c
-A + wc/qax.c
+$ svn status ak
+ M ak/bar.c
+A + ak/qax.c
</screen>
- <para>If you want to find out what files in your working
- copy are out-of-date, pass the
- <option>--show-updates</option> switch (this will
- <emphasis>not</emphasis> make any changes to your
- working copy). Here you can see that
- <filename>wc/foo.c</filename> has changed in the
- repository since we last updated our working
- copy:</para>
+ <para>Wenn sie herausfinden wollen, welche Dateien in ihrer
+ Arbeitskopie veraltet sind, verwenden sie die
+ <option>--show-updates</option> Option (es werden
+ <emphasis>keine</emphasis> Änderungen an ihrer
+ Arbeitskopie gemacht). Hier wurde die Datei
+ <filename>ak/foo.c</filename> im Projektarchiv geändert,
+ nachdem wir unsere Arbeitskopie aktualisiert haben:</para>
<screen>
-$ svn status --show-updates wc
- M 965 wc/bar.c
- * 965 wc/foo.c
-A + 965 wc/qax.c
-Status against revision: 981
+$ svn status --show-updates ak
+ M 965 ak/bar.c
+ * 965 ak/foo.c
+A + 965 ak/qax.c
+Status im Vergleich zu Revision: 981
</screen>
<note>
- <para><option>--show-updates</option>
- <emphasis>only</emphasis> places an asterisk next to items
- that are out of date (that is, items that will be updated
- from the repository if you run <command>svn
- update</command>). <option>--show-updates</option> does
- <emphasis>not</emphasis> cause the status listing to
- reflect the repository's version of the item.</para>
+ <para><option>--show-updates</option> zeigt
+ <emphasis>nur</emphasis> einen Stern neben dem Objekt
+ das veraltet ist (das heisst, dass das Objekt Änderungen
+ vom Projektarchiv empfängt, wenn <command>svn
+ update</command> durchgeführt wird).
+ <option>--show-updates</option> zeigt
+ <emphasis>nicht</emphasis> die Revisionsnummer des
+ Objektes im Projektarchiv an.</para>
</note>
<para>And finally, the most information you can get out of
the status subcommand:</para>
<screen>
-$ svn status --show-updates --verbose wc
- M 965 938 sally wc/bar.c
- * 965 922 harry wc/foo.c
-A + 965 687 harry wc/qax.c
- 965 687 harry wc/zig.c
-Head revision: 981
+$ svn status --show-updates --verbose ak
+ M 965 938 sally ak/bar.c
+ * 965 922 harry ak/foo.c
+A + 965 687 harry ak/qax.c
+ 965 687 harry ak/zig.c
+Head Revision: 981
</screen>
- <para>For many more examples of <command>svn status</command>,
- see <xref linkend="svn-ch-3-sect-4.3.1"/>.</para>
+ <para>Für weiter Beispiele zu <command>svn status</command>,
+ siehe <xref linkend="svn-ch-3-sect-4.3.1"/>.</para>
</refsect1>
</refentry>
@@ -3446,44 +3547,45 @@
<refentry>
<refnamediv>
<refname>svn switch</refname>
- <refpurpose>Update working copy to a different URL.</refpurpose>
+ <refpurpose>Stelle die Arbeitskopie auf eine andere URL um.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svn switch URL [PATH]</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svn switch URL [PFAD]</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>This subcommand updates your working copy to mirror
- a new URL—usually a URL which shares a common
- ancestor with your working copy, although not
- necessarily. This is the Subversion way to move a
- working copy to a new branch. See <xref
- linkend="svn-ch-4-sect-5"/> for an in-depth look at
- switching.</para>
+ <para>Dieses Subkommando stellt ihre Arbeitskopie so um,
+ dass sie eine neue URL spielgelt — üblicherweise hat
+ diese URL gemeinsame Vorfahren mit ihrer Arbeitskopie,
+ obwohl das nicht erforderlich ist. Dies ist der typische
+ Weg von Subversion um eine Arbeitskopie in einen neuen
+ Nebenzweig (branch) zu verschieben. Siehe <xref
+ linkend="svn-ch-4-sect-5"/> für einen tieferen Einblick
+ zum Thema Umstellung/Wechsel (switching).</para>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
+ <title>Alternative Namen</title>
<para>sw</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Working copy</para>
+ <title>Ändert</title>
+ <para>Arbeitskopie</para>
</refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>Yes</para>
+ <title>Archivzugriff</title>
+ <para>Ja</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
---revision (-r) REV
+--Revision (-r) REV
--non-recursive (-N)
--quiet (-q)
--diff3-cmd CMD
@@ -3497,46 +3599,48 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>If you're currently inside the directory
- <filename>vendors</filename> which was branched to
- <filename>vendors-with-fix</filename> and you'd like to
- switch your working copy to that branch:</para>
-
- <screen>
-$ svn switch http://svn.red-bean.com/repos/branches/vendors-with-fix .
-U myproj/foo.txt
-U myproj/bar.txt
-U myproj/baz.c
-U myproj/qux.c
-Updated to revision 31.
-</screen>
-
- <para>And to switch back, just provide the URL to the
- location in the repository from which you originally
- checked out your working copy:</para>
+ <para>Wenn sie im Verzeichnis <filename>vendors</filename>
+ stehen, für welches ein Zweig
+ <filename>vendors-mit-korr</filename> erstellt wurde,
+ können sie ihre Arbeitskopie auf diesen Zweig
+ umstellen:</para>
+
+ <screen>
+$ svn switch http://svn.red-bean.com/repos/branches/vendors-mit-korr .
+U meinproj/foo.txt
+U meinproj/bar.txt
+U meinproj/baz.c
+U meinproj/qux.c
+Aktualisiert auf Revision 31.
+</screen>
+
+ <para>Und um zurückzuwechseln geben brauchen sie nur die URL
+ angeben von der sie ihre Arbeitskopie ursprünglich
+ augecheckt haben:</para>
<screen>
$ svn switch http://svn.red-bean.com/repos/trunk/vendors .
-U myproj/foo.txt
-U myproj/bar.txt
-U myproj/baz.c
-U myproj/qux.c
-Updated to revision 31.
+U meinproj/foo.txt
+U meinproj/bar.txt
+U meinproj/baz.c
+U meinproj/qux.c
+Aktualisiert auf Revision 31.
</screen>
<tip>
- <para>You can just switch part of your working copy to a
- branch if you don't want to switch your entire working
- copy.</para>
+ <para>Sie können auch einzelne Teile ihrer Arbeitskopie
+ auf einen Zweig (branch) umstellen, wenn sie nicht die
+ ganze Arbeitskopie umstellen wollen.</para>
</tip>
- <para>If the location of your repository changes and you
- have an existing working copy that you'd like to continue
- to use, you can use <command>svn switch
- --relocate</command> to change your working copy from one
- URL to another:</para>
+ <para>Wenn die URL von ihrem Projektarchiv wechselt und sie
+ haben eine bestehende Arbeitskopie, die sie
+ weiterbenutzen möchten, dann können sie die <command>svn
+ switch --relocate</command> Option verwenden, um ihre
+ Arbeitskopie von einer URL auf eine andere
+ umzustellen:</para>
<screen>
$ svn checkout file:///tmp/repos test
@@ -3549,11 +3653,11 @@
$ svn update
svn: Unable to open an ra_local session to URL
-svn: Unable to open repository 'file:///tmp/repos'
+svn: Unable to open Projektarchiv 'file:///tmp/repos'
$ svn switch --relocate file:///tmp/repos file:///tmp/newlocation .
$ svn update
-At revision 3.
+Bei Revision 3.
</screen>
</refsect1>
@@ -3563,90 +3667,92 @@
<refentry>
<refnamediv>
<refname>svn update</refname>
- <refpurpose>Updates your working copy.</refpurpose>
+ <refpurpose>Aktualisiert ihre Arbeitskopie.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svn update [PATH...]</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svn update [PFAD...]</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para><command>svn update</command> brings changes from the
- repository into your working copy. If no revision given,
- it brings your working copy up-to-date with the
- <literal>HEAD</literal> revision. Otherwise, it
- synchronizes the working copy to the revision given by the
- <option>--revision</option> switch.</para>
+ <para><command>svn update</command> überträgt die Änderungn
+ vom Projektarchiv in ihre Arbeitskopie. Wenn keine
+ Revision angegeben wurde, dann wird ihre Arbeitskopie mit
+ der <literal>HEAD</literal> Revision aktualisiert.
+ Andernfalls wird die Arbeitskopie auf den Stand der
+ Revision gebracht, die an die <option>--revision</option>
+ Option übergegeben wird.</para>
- <para>For each updated item a line will start with a
- character reporting the action taken. These characters
- have the following meaning:</para>
+ <para>Für jedes aktualisierte Objekt wird wird eine Zeile ausgegeben,
+ die mit einem Buchstabn für die durchgeführte Aktion beginnt.
+ Diese haben die folgende Bedeutung:</para>
<variablelist>
<varlistentry>
<term>A</term>
<listitem>
- <para>Added</para>
+ <para>Hinzugefügt (Added)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>D</term>
<listitem>
- <para>Deleted</para>
+ <para>Gelöscht (Deleted)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>U</term>
<listitem>
- <para>Updated</para>
+ <para>Aktualisiert (Updated)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>C</term>
<listitem>
- <para>Conflict</para>
+ <para>Konflikt (Conflict)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>G</term>
<listitem>
- <para>Merged</para>
+ <para>Zusammengeführt (Merged)</para>
</listitem>
</varlistentry>
</variablelist>
- <para>A character in the first column signifies an update
- to the actual file, while updates to the file's
- properties are shown in the second column.</para>
+ <para>Ein Buchstabe in der ersten Spalte bedeutet eine
+ Aktualisierung der Datei, während Aktualisierungen der
+ Dateieigenschaften in der zweiten Spalte angezeigt
+ werden.</para>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
+ <title>Alternative Namen</title>
<para>up</para>
</refsect1>
<refsect1>
- <title>Changes</title>
- <para>Working copy</para>
+ <title>Ändert</title>
+ <para>Arbeitskopie</para>
</refsect1>
<refsect1>
- <title>Accesses Repository</title>
- <para>Yes</para>
+ <title>Archivzugriff</title>
+ <para>Ja</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
---revision (-r) REV
+--Revision (-r) REV
--non-recursive (-N)
--quiet (-q)
--diff3-cmd CMD
@@ -3659,39 +3765,39 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>Pick up repository changes that have happened since
- your last update:</para>
+ <para>Übernehme Änderungen vom Projektarchiv, die seit der
+ letzten Aktualisierung dort vorgenommen wurden:</para>
<screen>
$ svn update
-A newdir/toggle.c
-A newdir/disclose.c
-A newdir/launch.c
-D newdir/README
-Updated to revision 32.
+A neudir/toggle.c
+A neudir/disclose.c
+A neudir/launch.c
+D neudir/README
+Aktualisiert auf Revision 32.
</screen>
- <para>You can also update your working copy to an older
- revision (Subversion doesn't have the concept of
- <quote>sticky</quote> files like CVS does; see <xref
- linkend="svn-ap-a"/>):</para>
+ <para>Sie können ihre Arbeitskopie auch mit einer älteren
+ Revision aktualisieren (Subversion hat kein Konzept von
+ <quote>sticky</quote> (klebrigen) Dateien, so wie CVS dies
+ kennt; siehe <xref linkend="svn-ap-a"/>):</para>
<screen>
$ svn update -r30
-A newdir/README
-D newdir/toggle.c
-D newdir/disclose.c
-D newdir/launch.c
+A neudir/README
+D neudir/toggle.c
+D neudir/disclose.c
+D neudir/launch.c
U foo.c
-Updated to revision 30.
+Aktualisiert auf Revision 30.
</screen>
<tip>
- <para>If you want to examine an older revision of a
- single file, you may want to use <command>svn
- cat</command>.</para>
+ <para>Wenn sie eine ältere Revision einer einzelnen Datei
+ anschauen wollen, sollten sie <command>svn
+ cat</command> benutzen.</para>
</tip>
</refsect1>
@@ -3706,47 +3812,50 @@
<sect1 id="svn-ch-9-sect-2">
<title><command>svnadmin</command></title>
- <para><command>svnadmin</command> is the administrative tool for
- monitoring and repairing your Subversion repository. For
- detailed information, see <xref
- linkend="svn-ch-5-sect-3.1.2"/>.</para>
-
- <para>Since <command>svnadmin</command> works via direct repository access
- (and thus can only be used on the machine that holds the
- repository), it refers to the repository with a path, not a URL.</para>
+ <para><command>svnadmin</command> ist das Adminstrations-Werkzeug
+ zum Überprüfen und Reparieren des Projektarchives. Für
+ detailiertere Information, siehe <xref
+ linkend="svn-ch-5-sect-3.1.2"/>.</para>
+
+ <para>Da <command>svnadmin</command> direkt auf das Projektarchiv
+ zugreift (und nur auf der Maschine verwendet werden kann, auf
+ der sich das Projektarchiv befindet), wird das Projektarchiv als
+ Pfad und nicht als URL angegeben.</para>
<sect2 id="svn-ch-9-sect-2.1">
- <title><command>svnadmin</command> Switches</title>
+ <title><command>svnadmin</command> Optionen</title>
<variablelist>
<varlistentry>
<term><option>--bdb-log-keep</option></term>
<listitem>
- <para>(Berkeley DB specific) Disable automatic log removal
- of database log files.</para>
+ <para>(Spezifisch für die Berkeley Datenbank) Schaltet das
+ automatische Löschen der Datenbank Logdateien
+ ab.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--bdb-txn-nosync</option></term>
<listitem>
- <para>(Berkeley DB specific) Disables fsync when
- committing database transactions.</para>
+ <para>(Spezifisch für die Berkeley Datenbank) Schaltet
+ fsync ab, wenn Datenbank Transaktionen übertragen
+ werden.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--bypass-hooks</option></term>
<listitem>
- <para>Bypass the repository hook system.</para>
+ <para>Umgehe das Hakensystem des Projektarchivs.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--clean-logs</option></term>
<listitem>
- <para>Removes unused Berkeley DB logs.</para>
+ <para>Entferne unbenutzte Berkeley DB Logdateien.</para>
</listitem>
</varlistentry>
@@ -3755,30 +3864,31 @@
<varlistentry>
<term><option>--force-uuid</option></term>
<listitem>
- <para>By default, when loading data into repository that
- already contains revisions, <command>svnadmin</command>
- will ignore the <literal>UUID</literal> from the dump
- stream. This switch will cause the repository's
- <literal>UUID</literal> to be set to the
- <literal>UUID</literal> from the stream.</para>
+ <para>Standardmässig wird <command>svnadmin</command> beim
+ Laden von Daten in ein Projektarchiv, das bereits
+ Revisionen enthält die <literal>UUID</literal> Angaben
+ im importierten 'Dump' ignorieren. Diese Option
+ bewirkt, dass die <literal>UUID</literal> des 'Dump' in
+ das Projektarchiv übernommen wird.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--ignore-uuid</option></term>
<listitem>
- <para>By default, when loading an empty repository,
- <command>svnadmin</command> will use the
- <literal>UUID</literal> from the dump stream. This switch
- will cause that UUID to be ignored.</para>
+ <para>Standardmässig wird <command>svnadmin</command> beim
+ Laden in ein leeres Projektarchiv die
+ <literal>UUID</literal> vom importierten 'Dump'
+ übernehmen. Diese Option bewirkt, dass diese UUID
+ ignoriert wird.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--incremental</option></term>
<listitem>
- <para>Dump a revision only as a diff against the
- previous revision, instead of the usual
+ <para>Dump a Revision only as a diff against the
+ previous Revision, instead of the usual
fulltext.</para>
</listitem>
</varlistentry>
@@ -3787,26 +3897,25 @@
<term><option>--parent-dir
<replaceable>DIR</replaceable></option></term>
<listitem>
- <para>When loading a dumpfile, root paths at
- <replaceable>DIR</replaceable> instead of
- <replaceable>/</replaceable>.</para>
+ <para>Wenn eine 'Dump' Datei geladen wird, dann wird als
+ Basisverzeichnis <replaceable>DIR</replaceable> genommen
+ anstatt <replaceable>/</replaceable>.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>--revision</option> (<option>-r</option>)
+ <term><option>--Revision</option> (<option>-r</option>)
<replaceable>ARG</replaceable></term>
<listitem>
- <para>Specify a particular revision to operate
- on.</para>
+ <para>Gibt die zu verwendende Revision an.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--quiet</option></term>
<listitem>
- <para>Do not show normal progress—show only
- errors.</para>
+ <para>Zeige keine normalen Prozessausgaben, sondern nur
+ Fehler.</para>
</listitem>
</varlistentry>
</variablelist>
@@ -3820,26 +3929,27 @@
<refentry>
<refnamediv>
<refname>svnadmin create</refname>
- <refpurpose>Create a new, empty repository at
- <replaceable>REPOS_PATH</replaceable>.</refpurpose>
+ <refpurpose>Erzeugt ein neues, leeres Projektarchiv im
+ <replaceable>ARCHIV_PFAD</replaceable>.
+ </refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svnadmin create REPOS_PATH</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svnadmin create ARCHIV_PFAD</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Create a new, empty repository at the path provided.
- If the provided directory does not exist, it will be
- created for you.<footnote><para>Remember,
- <command>svnadmin</command> works only with local
- <emphasis>paths</emphasis>, not
+ <para>Erzeugt ein neues, leeres Projektarchiv im angegeben
+ Pfad. Wenn das angegebene Verzeichnis nicht existiert,
+ wird es angelegt. <footnote><para>Zur Erinnerung:
+ <command>svnadmin</command> arbeitet nur mit lokalen
+ <emphasis>Pfadangaben</emphasis> und nicht mit
<emphasis>URL</emphasis>s.</para></footnote></para>
- </refsect1>
+ </refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
--bdb-txn-nosync
@@ -3848,9 +3958,10 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>Creating a new repository is just this easy:</para>
+ <para>Das Erstellen eines neuen Projektarchiv ist sehr
+ einfach:</para>
<screen>
$ svnadmin create /usr/local/svn/repos
@@ -3864,56 +3975,58 @@
<refentry>
<refnamediv>
<refname>svnadmin dump</refname>
- <refpurpose>Dump the contents of filesystem to stdout.</refpurpose>
+ <refpurpose>Gibt den Inhalt des Dateienystems im
+ 'Dump'-Format aus.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svnadmin dump REPOS_PATH [-r LOWER[:UPPER]] \
[--incremental]</programlisting> + <title>Übersicht</title>
+ <programlisting>svnadmin dump ARCHIV_PFAD [-r VON[:BIS]] \
[--incremental]</programlisting> </refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Dump the contents of filesystem to stdout in a
- <quote>dumpfile</quote> portable format, sending feedback
- to stderr. Dump revisions
- <replaceable>LOWER</replaceable> rev through
- <replaceable>UPPER</replaceable> rev. If no revisions are
- given, dump all revision trees. If only
- <replaceable>LOWER</replaceable> is given, dump that one
- revision tree. See <xref linkend="svn-ch-5-sect-3.5"/>
- for a practical use. </para>
- </refsect1>
+ <para>Gibt den Inhalt des Dateisystems in einem portablen
+ 'Dump'-Format auf die Standardausgabe (stdout) aus.
+ Rückmeldungen gehen an die Standardfehlerausgabe (stderr).
+ Gibt die Revisionen <replaceable>VON</replaceable>:
+ <replaceable>BIS</replaceable> aus. Wenn keine Revisionen
+ angegeben werden, dann werden alle Revisionen ausgegeben.
+ Wenn nur <replaceable>VON</replaceable> angegeben wird,
+ dann wird nur diese eine Revision ausgegeben. Siehe <xref
+ linkend="svn-ch-5-sect-3.5"/> für praktische
+ Beispiele.</para>
+ </refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
---revision (-r)
+--Revision (-r)
--incremental
--quiet
</screen>
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>Dump your whole repository:</para>
+ <para>Gibt das ganze Projektarchiv aus:</para>
<screen>
$ svnadmin dump /usr/local/svn/repos
SVN-fs-dump-format-version: 1
Revision-number: 0
-* Dumped revision 0.
+* Dumped Revision 0.
Prop-content-length: 56
Content-length: 56
…
</screen>
- <para>Incrementally dump a single transaction from your
- repository: </para>
+ <para>Inkrementelle Ausgabe einer einzelnen Transaktion aus
+ dem Projektarchiv: </para>
<screen>
$ svnadmin dump /usr/local/svn/repos -r 21 --incremental
-* Dumped revision 21.
+* Dumped Revision 21.
SVN-fs-dump-format-version: 1
Revision-number: 21
Prop-content-length: 101
@@ -3930,21 +4043,21 @@
<refname>svnadmin help</refname>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svnadmin help [SUBCOMMAND...]</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svnadmin help [SUBKOMMANDO...]</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>This subcommand is useful when you're trapped on a
- desert island with neither a net connection nor a copy of
- this book.</para>
+ <para>Dieses Subkommando ist hilfreich, wenn sie in sich auf
+ einer einsamen Insel und weder eine Internetverbindung
+ noch dieses Buch zur Verfügung haben.</para>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
+ <title>Alternative Namen</title>
<para>?, h</para>
</refsect1>
@@ -3954,28 +4067,30 @@
<refentry>
<refnamediv>
<refname>svnadmin hotcopy</refname>
- <refpurpose>Makes a hot copy of a repository.</refpurpose>
+ <refpurpose>Erstellt eine Kopie des Projektarchivs im
+ laufenden Betrieb.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svnadmin hotcopy OLD_REPOS_PATH \
NEW_REPOS_PATH</programlisting> + <title>Übersicht</title>
+ <programlisting>svnadmin hotcopy ALTER_ARCHIV_PFAD \
NEUER_ARCHIV_PFAD</programlisting> </refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>This subcommand makes a full <quote>hot</quote> backup
- of your repository, including all hooks, configuration
- files, and, of course, database files. If you pass the
- <literal>--clean-logs</literal> switch,
- <command>svnadmin</command> will perform a hotcopy of your
- repository, and then remove unused Berkeley DB logs from the
- original repository.</para>
+ <para>Das Subkommando erstellt eine volle Sicherung des
+ Projektarchives im <quote>laufenden</quote> Betrieb,
+ inklusive aller Haken, Konfigurations-Dateien und
+ natürlich der Datenbank-Dateien. Wenn sie die
+ <literal>--clean-logs</literal> Option angeben, wird
+ <command>svnadmin</command> die Kopie des Projektarchivs
+ erstellen und dann die unbenutzen Berkeley DB Logdateien
+ vom ursprünglichen Projektarchiv entfernen.</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
--clean-logs
@@ -3988,25 +4103,26 @@
<refentry>
<refnamediv>
<refname>svnadmin list-dblogs</refname>
- <refpurpose>Ask Berkeley DB which log files exist for a given
- svn repository.</refpurpose>
+ <refpurpose>Listet die Berkeley DB Logdateien, die für das angegebene
+ Projektarchiv existieren.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svnadmin list-dblogs REPOS_PATH</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svnadmin list-dblogs ARCHIV_PFAD</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Berkeley DB creates logs of all changes to the
- repository, which allow it to recover in the face of
- catastrophe. Unless you enable
- <literal>DB_LOGS_AUTOREMOVE</literal>, the log files
- accumulate, although most are no longer used and can be
- deleted to reclaim disk space. See <xref
- linkend="svn-ch-5-sect-3.3"/> for more
- information.</para>
- </refsect1>
+ <para>Die Berkeley Datenbank erzeugt Logdateien über alle
+ Änderungen am Projektarchiv, um damit eine
+ Wiederherstellung nach einer Katastrophe zu ermöglichen.
+ Solange sie nicht <literal>DB_LOGS_AUTOREMOVE</literal>
+ einschalten, werden die Logdateien immer mehr werden,
+ obwohl die meisten davon nicht mehr benötigt werden und
+ gelöscht werden können, um Plattenplatz freizugeben.
+ Siehe <xref linkend="svn-ch-5-sect-3.3"/> für weitere
+ Informationen.</para>
+ </refsect1>
</refentry>
@@ -4014,30 +4130,31 @@
<refentry>
<refnamediv>
<refname>svnadmin list-unused-dblogs</refname>
- <refpurpose>Ask Berkeley DB which log files can be safely
- deleted.</refpurpose>
+ <refpurpose>Listet die Berkeley DB Logdateien, die gefahrlos
+ gelöscht werden können.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svnadmin list-unused-dblogs REPOS_PATH</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svnadmin list-unused-dblogs ARCHIV_PFAD</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Berkeley DB creates logs of all changes to the
- repository, which allow it to recover in the face of
- catastrophe. Unless you enable
- <literal>DB_LOGS_AUTOREMOVE</literal>, the log files
- accumulate, although most are no longer used and can be
- deleted to reclaim disk space. See <xref
- linkend="svn-ch-5-sect-3.3"/> for more
- information.</para>
+ <para>Die Berkeley Datenbank erzeugt Logdateien über alle
+ Änderungen am Projektarchiv, um damit eine
+ Wiederherstellung nach einer Katastrophe zu ermöglichen.
+ Solange sie nicht <literal>DB_LOGS_AUTOREMOVE</literal>
+ einschalten, werden die Logdateien immer mehr werden,
+ obwohl die meisten davon nicht mehr benötigt werden und
+ gelöscht werden können, um Plattenplatz freizugeben.
+ Siehe <xref linkend="svn-ch-5-sect-3.3"/> für weitere
+ Informationen.</para>
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>Remove all unused log files from a repository:</para>
+ <para>Entferne alle unbenutzten Logdateien vom Projektarchiv:</para>
<screen>
$ svnadmin list-unused-dblogs /path/to/repos
@@ -4055,24 +4172,25 @@
<!-- ================================================================= -->
<refentry>
<refnamediv>
- <refname>svnadmin load</refname> <refpurpose>Read a
- <quote>dumpfile-formatted</quote> stream from
- stdin.</refpurpose>
+ <refname>svnadmin load</refname> <refpurpose>Liest einen Stream im
+ <quote>'Dump'-Format</quote> von der Standardeingabe ein.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svnadmin load REPOS_PATH</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svnadmin load ARCHIV_PFAD</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Read a <quote>dumpfile</quote>-formatted stream from
- stdin, committing new revisions into the repository's
- filesystem. Send progress feedback to stdout.</para>
+ <para>Liest einen Stream im <quote>'Dump'-Format</quote> von
+ der Standardeingabe (stdin) ein und überträgt neue
+ Revisionen in das Dateienystem des Projektarchivs.
+ Sendet Prozessinformationen an die Standardausgabe
+ (stdout).</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
--quiet (-q)
@@ -4083,25 +4201,25 @@
</refsect1>
<refsect1>
- <title>Example</title>
+ <title>Beispiele</title>
- <para>This shows the beginning of loading a repository from
- a backup file (made, of course, with <command>svn
- dump</command>):</para>
+ <para>Hier wird ein Projektarchiv von einer Sicherungsdatei
+ (welche natürlich mit <command>svn dump</command> erstellt
+ worden ist) geladen:</para>
<screen>
$ svnadmin load /usr/local/svn/restored < repos-backup
-<<< Started new txn, based on original revision 1
+<<< Started new txn, based on original Revision 1
* adding path : test ... done.
* adding path : test/a ... done.
…
</screen>
- <para>Or if you want to load into a subdirectory:</para>
+ <para>Oder wenn sie in ein Unterverzeichnis laden wollen:</para>
<screen>
-$ svnadmin load --parent-dir new/subdir/for/project /usr/local/svn/restored < \
repos-backup
-<<< Started new txn, based on original revision 1
+$ svnadmin load --parent-dir neu/unterverz/fuer/project /usr/local/svn/restored < \
repos-backup +<<< Started new txn, based on original Revision 1
* adding path : test ... done.
* adding path : test/a ... done.
…
@@ -4114,26 +4232,28 @@
<refentry>
<refnamediv>
<refname>svnadmin lstxns</refname>
- <refpurpose>Print the names of all uncommitted transactions.</refpurpose>
+ <refpurpose>Gibt die Namen aller hängengebliebenen Transaktionen \
aus.</refpurpose> </refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svnadmin lstxns REPOS_PATH</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svnadmin lstxns ARCHIV_PFAD</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
+
+ <para>Gibt die Namen aller hängengebliebenen
+ Transaktionen aus. Siehe <xref
+ linkend="svn-ch-5-sect-3.2"/> für Informationen wie solche
+ hängengebliebenen Transaktionen entstehen und was sie
+ damit machen sollten.</para>
- <para>Print the names of all uncommitted transactions. See
- <xref linkend="svn-ch-5-sect-3.2"/> for information on how
- uncommitted transactions are created and what you should
- do with them.</para>
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>List all outstanding transactions in a
- repository.</para>
+ <para>Listet alle hängengebliebenen Transaktionen für ein
+ Projektarchiv.</para>
<screen>
$ svnadmin lstxns /usr/local/svn/repos/
@@ -4148,30 +4268,31 @@
<refentry>
<refnamediv>
<refname>svnadmin recover</refname>
- <refpurpose>Recovers any lost state in a repository.</refpurpose>
+ <refpurpose>Stellt verlorengegangene Statusinformationen im Projektarchiv \
wieder her.</refpurpose> </refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svnadmin recover REPOS_PATH</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svnadmin recover ARCHIV_PFAD</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Run this command if you get an error indicating that
- your repository needs to be recovered.</para>
+ <para>Verwenden sie dieses Kommando, wenn sie eine
+ Fehlermeldung bekommen, die darauf hinweist, dass ihr
+ Projektarchiv eine Wiederherstellung benötigt.</para>
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>Recover a hung repository:</para>
+ <para>Wiederherstellung eines hängengebliebenen Projektarchivs:</para>
<screen>
$ svnadmin recover /usr/local/svn/repos/
-Acquiring exclusive lock on repository db.
-Recovery is running, please stand by...
-Recovery completed.
-The latest repos revision is 34.
+Setze exklusive Sperre für Projektarchiv db.
+Wiederherstellung läuft, bitte warten...
+Wiederherstellung komplett.
+Die aktuellste Revision im Projektarchiv ist 34.
</screen>
</refsect1>
@@ -4182,22 +4303,22 @@
<refentry>
<refnamediv>
<refname>svnadmin rmtxns</refname>
- <refpurpose>Deletes transactions from a repository.</refpurpose>
+ <refpurpose>Löscht Transaktionen vom Projektarchiv.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svnadmin rmtxns REPOS_PATH TXN_NAME...</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svnadmin rmtxns ARCHIV_PFAD TXN_NAME...</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Deletes outstanding transactions from a repository.
- This is covered in detail in <xref
+ <para>Löscht hängengebliebene Transaktionen vom Projektarchiv.
+ Dies wird im Detail besprochen in <xref
linkend="svn-ch-5-sect-3.2"/>.</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
--quiet (-q)
@@ -4205,23 +4326,24 @@
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>Remove named transactions:</para>
+ <para>Löscht benannte Transaktionen:</para>
<screen>
$ svnadmin rmtxns /usr/local/svn/repos/ 1w 1x
</screen>
- <para>Fortunately, the output of svn lstxns works great as
- the input for rmtxns:</para>
+ <para>Glücklicherweise lässt sich die Ausgabe von
+ <command>svn lstxns</command> hervorragend für die EIngabe
+ von rmtxns verwenden:</para>
<screen>
$ svnadmin rmtxns /usr/local/svn/repos/ `svnadmin lstxns /usr/local/svn/repos/`
</screen>
- <para>Which will remove all uncommitted transactions from
- your repository.</para>
+ <para>Womit alle hängengebliebenen Transaktionen vom
+ Projektarchiv entfernt werden.</para>
</refsect1>
</refentry>
@@ -4231,48 +4353,50 @@
<refentry>
<refnamediv>
<refname>svnadmin setlog</refname>
- <refpurpose>Set the log-message on a revision.</refpurpose>
+ <refpurpose>Set the log-message on a Revision.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svnadmin setlog REPOS_PATH -r REVISION \
FILE</programlisting> + <title>Übersicht</title>
+ <programlisting>svnadmin setlog ARCHIV_PFAD -r REVISION \
DATEI</programlisting> </refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Set the log-message on revision REVISION to the
- contents of FILE.</para>
+ <para>Setzt die Log-Nachricht für Revision REVISION auf den
+ Inhalt der Datei DATEI.</para>
- <para>This is similar to using <command>svn propset
- --revprop</command> to set the <literal>svn:log</literal> property
- on a revision, except that you can also use the option
- <option>--bypass-hooks</option> to avoid running any pre- or
- post-commit hooks, which is useful if the modification of
- revision properties has not been enabled in the pre-revprop-change
- hook.</para>
+ <para>Das ist ähnlich wie die Verwendung von <command>svn
+ propset --revprop</command> um die
+ <literal>svn:log</literal> Eigenschaft für eine Revision
+ zu setzen, mit dem Unterschied, dass sie auch die Option
+ <option>--bypass-hooks</option> verwenden können, um zu
+ verhindern, dass irgendwelche pre- oder post-commit Haken
+ ausgeführt werden, was nützlich ist, wenn die Änderung von
+ Eigenschaften der Revision nicht mittels
+ pre-revprop-change Haken ermöglicht wurde.</para>
- <warning>
- <para>Revision properties are not under version control,
- so this command will permanently overwrite the previous
- log message.</para>
+ <warning>
+ <para>Eigenschaften einer Revision stehen nicht unter
+ Versionskontrolle, sodass die vorherige Log-Nachricht
+ verlorengeht.</para>
</warning>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
---revision (-r) ARG
+--Revision (-r) ARG
--bypass-hooks
</screen>
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>Set the log message for revision 19 to the contents of
- the file <filename>msg</filename>:</para>
+ <para>Setzt Die Log-Nachricht für die Revision 19 auf den
+ Inhalt der Datei <filename>msg</filename>:</para>
<screen>
$ svnadmin setlog /usr/local/svn/repos/ -r 19 msg
@@ -4285,29 +4409,30 @@
<refentry>
<refnamediv>
<refname>svnadmin verify</refname>
- <refpurpose>Verifies the data stored in the repository.</refpurpose>
+ <refpurpose>Überprüft die Daten im Projektarchiv.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svnadmin verify REPOS_PATH</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svnadmin verify ARCHIV_PFAD</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Run this command if you wish to verify the integrity
- of your repository. This basically iterates through all
- revisions in the repository by internally dumping all
- revisions and discarding the output.</para>
+ <para>Lassen sie dieses Kommando laufen, wenn sie die
+ Integrität des Projektarchivs überprüfen wollen. Intern
+ geschieht dies, indem alle Revisionen im Projektarchiv wie
+ bei der Ausgbe des 'Dump'-Formats behandelt werden, die
+ Ausgabe jedoch unterdrückt wird.</para>
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>Verify a hung repository:</para>
+ <para>Überprüft ein hängengebliebenes Projektarchiv:</para>
<screen>
$ svnadmin verify /usr/local/svn/repos/
-* Verified revision 1729.
+* Revision 1729 überprüft.
</screen>
</refsect1>
@@ -4323,68 +4448,71 @@
<sect1 id="svn-ch-9-sect-3">
<title><command>svnlook</command></title>
- <para><command>svnlook</command> is a command-line utility for
- examining different aspects of a Subversion repository. It
- does not make any changes to the repository—it's just
- used for <quote>peeking</quote>.
- <command>svnlook</command> is typically used by the
- repository hooks, but a repository administrator might find it
- useful for diagnostic purposes.</para>
-
- <para>Since <command>svnlook</command> works via direct repository access
- (and thus can only be used on the machine that holds the
- repository), it refers to the repository with a path, not a URL.</para>
-
- <para>If no revision or transaction is specified,
- <command>svnlook</command> defaults to the youngest (most
- recent) revision of the repository.</para>
+ <para><command>svnlook</command> ist ein Kommandozeilen-Werkzeug
+ um verschiedene Aspekte eines Subversion Projektarchives zu
+ untersuchen. Es macht keine Änderunge am Projektarchiv —
+ es dient nur zum <quote>Nachschauen</quote>.
+ <command>svnlook</command> wird typischerweise bei Haken im
+ Projektarchiv verwendet, kann aber auch für Diagnosezwecke bei
+ der Administration des Projektarchives nützlich sein.</para>
+
+ <para>Da <command>svnlook</command> direkt auf das Projektarchiv
+ zugreift (und nur auf der Maschine verwendet werden kann, auf
+ der sich das Projektarchiv befindet), wird das Projektarchiv als
+ Pfad und nicht als URL angegeben.</para>
+
+ <para>Wenn keine Revision oder Transaktion angegeben wird, dann
+ verwendet <command>svnlook</command> die aktuellste Revision im
+ Projektarchiv.</para>
<sect2 id="svn-ch-9-sect-3.1">
- <title><command>svnlook</command> Switches</title>
+ <title><command>svnlook</command>Optionen</title>
- <para>Switches in <command>svnlook</command> are global, just
- like in <command>svn</command> and
- <command>svnadmin</command>, however, most switches only
- apply to one subcommand since the functionality of
- <command>svnlook</command> is (intentionally) limited in
- scope.</para>
+ <para>Optionen für <command>svnlook</command> sind global, so
+ wie bei <command>svn</command> und
+ <command>svnadmin</command>, obwohl die meisten Optionen nur
+ bei einem einzigen Subkommando angewendet werden können, da
+ <command>svnlook</command> (absichtlich) in seinem Rahmen
+ eingeschränkt ist.</para>
<variablelist>
<varlistentry>
<term><option>--no-diff-deleted</option></term>
<listitem>
- <para>Prevents <command>svnlook</command> from printing
- differences for deleted files. The default behavior
- when a file is deleted in a transaction/revision is
- to print the same differences that you would see if
- you had left the file but removed all the content.</para>
+ <para>Verhindert, dass <command>svnlook</command>
+ Unterschiede für gelöschte Dateien ausgibt.
+ Standardmässig werden für eine Datei, die in einer
+ Transaktion/Revision gelöscht wurde, die gleichen
+ Unterschiede ausgegeben, als wie wenn die Datei weiter
+ bestehen würde, jedoch der ganze Inhalt gelöscht worden
+ wäre.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>--revision</option>
+ <term><option>--Revision</option>
(<option>-r</option>)</term>
<listitem>
- <para>Specify a particular revision number that you wish
- to examine.</para>
+ <para>Gibt eine bestimmte Revision an, die untersucht
+ werden soll.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>--transaction</option>
+ <term><option>--Transaktion</option>
(<option>-t</option>)</term>
<listitem>
- <para>Specify a particular transaction id that you wish to
- examine. </para>
+ <para>Gibt eine bestimmte Transaktions-ID an, die
+ untersucht werden soll. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--show-ids</option></term>
<listitem>
- <para>Show the filesystem node revision IDs for each path in the \
filesystem
- tree.</para>
+ <para>Zeigt die Dateienystemknoten Revisions-IDs für jeden
+ Pfad im Dateienystembaum.</para>
</listitem>
</varlistentry>
@@ -4399,33 +4527,33 @@
<refentry>
<refnamediv>
<refname>svnlook author</refname>
- <refpurpose>Prints the author.</refpurpose>
+ <refpurpose>Gibt den/die AutorIn aus.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svnlook author REPOS_PATH</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svnlook author ARCHIV_PFAD</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Prints the author of a revision or transaction in
- the repository.</para>
+ <para>Gibt die Autorenschaft einer Revision oder Transaktion im
+ Projektarchiv aus.</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
---revision (-r)
---transaction (-t)
+--Revision (-r)
+--Transaktion (-t)
</screen>
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para><command>svnlook author</command> is handy, but not
- very exciting:</para>
+ <para><command>svnlook author</command> ist nützlich, aber
+ nicht sehr spannend:</para>
<screen>
$ svnlook author -r 40 /usr/local/svn/repos
@@ -4439,34 +4567,34 @@
<refentry>
<refnamediv>
<refname>svnlook cat</refname>
- <refpurpose>Print the contents of a file.</refpurpose>
+ <refpurpose>Gibt den Inhalt einer Datei aus.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svnlook cat REPOS_PATH PATH_IN_REPOS</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svnlook cat ARCHIV_PFAD PFAD_IM_ARCHIV</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Print the contents of a file.</para>
+ <para>Gibt den Inhalt einer Datei aus.</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
---revision (-r)
---transaction (-t)
+--Revision (-r)
+--Transaktion (-t)
</screen>
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>This shows the contents of a file in transaction
- <literal>ax8</literal>, located at
- <filename>/trunk/README</filename>:</para>
+ <para>Dies zeigt den Inhalt der Datei
+ <filename>/trunk/README</filename> in der Transaktion
+ <literal>ax8</literal>:</para>
<screen>
$ svnlook cat -t ax8 /usr/local/svn/repos /trunk/README
@@ -4491,38 +4619,38 @@
<refentry>
<refnamediv>
<refname>svnlook changed</refname>
- <refpurpose>Print the paths that were changed.</refpurpose>
+ <refpurpose>Zeigt die Pfade an die geändert wurden.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svnlook changed REPOS_PATH</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svnlook changed ARCHIV_PFAD</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Print the paths that were changed in a particular
- revision or transaction, as well as an <quote>svn
- update-style</quote> status letter in the first column:
- <literal>A</literal> for added, <literal>D</literal> for
- deleted, and <literal>U</literal> for updated
- (modified).</para>
+ <para>Zeigt die Pfande an, die in einer bestimmten Revision
+ oder Transaktion geändert wurden, sowie einen Buchstaben
+ im Stil der <quote>svn update</quote> Statuskennungen in
+ der ersten Spalte: <literal>A</literal> für hinzugefügt
+ (added), <literal>D</literal> für gelöscht (deleted) und
+ <literal>U</literal> für geändert (updated).</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
---revision (-r)
---transaction (-t)
+--Revision (-r)
+--Transaktion (-t)
</screen>
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>This shows a list of all the changed files in
- revision 39 of a test repository:</para>
+ <para>Dies zeigt eine Liste mit allen Dateien, die in
+ Revision 39 im Projektarchiv geändert wurden:</para>
<screen>
$ svnlook changed -r 39 /usr/local/svn/repos
@@ -4539,33 +4667,33 @@
<refentry>
<refnamediv>
<refname>svnlook date</refname>
- <refpurpose>Print the datestamp.</refpurpose>
+ <refpurpose>Gibt den Zeitstempel aus.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svnlook date REPOS_PATH</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svnlook date ARCHIV_PFAD</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Print the datestamp of a revision or transaction in
- a repository.</para>
+ <para>Gibt den Zeitstempel einer Revision oder Transaktion
+ im Projektarchiv aus.</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
---revision (-r)
---transaction (-t)
+--Revision (-r)
+--Transaktion (-t)
</screen>
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>This shows the date of revision 40 of a test
- repository:</para>
+ <para>Dies zeigt Datum und Uhrzeit der Revision 40
+ aus dem Projektarchiv:</para>
<screen>
$ svnlook date -r 40 /tmp/repos/
@@ -4579,53 +4707,53 @@
<refentry>
<refnamediv>
<refname>svnlook diff</refname>
- <refpurpose>Prints differences of changed files and \
properties.</refpurpose> + <refpurpose>Zeigt Unterschiede von geänderten \
Dateien und Eigenschaften.</refpurpose> </refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svnlook diff REPOS_PATH</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svnlook diff ARCHIV_PFAD</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Prints GNU-style differences of changed files and
- properties in a repository.</para>
+ <para>Zeigt Unterschiede von geänderten Dateien und Eigenschaften
+ aus dem Projektarchiv im GNU-Stil.</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
---revision (-r)
---transaction (-t)
+--Revision (-r)
+--Transaktion (-t)
--no-diff-deleted
</screen>
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>This shows a newly added (empty) file, a deleted
- file, and a copied file:</para>
+ <para>Dies zeigt eine neu hinzugefügte (leere) Datei, eine
+ gelöschte und eine kopierte Datei:</para>
<screen>
$ svnlook diff -r 40 /usr/local/svn/repos/
Copied: egg.txt (from rev 39, trunk/vendors/deli/pickle.txt)
-Added: trunk/vendors/deli/soda.txt
+Hinzugefügt: trunk/vendors/deli/soda.txt
==============================================================================
-Modified: trunk/vendors/deli/sandwich.txt
+Geändert: trunk/vendors/deli/sandwich.txt
==============================================================================
--- trunk/vendors/deli/sandwich.txt (original)
+++ trunk/vendors/deli/sandwich.txt 2003-02-22 17:45:04.000000000 -0600
@@ -0,0 +1 @@
+Don't forget the mayo!
-Deleted: trunk/vendors/deli/chips.txt
+Gelöscht: trunk/vendors/deli/chips.txt
==============================================================================
-Deleted: trunk/vendors/deli/pickle.txt
+Gelöscht: trunk/vendors/deli/pickle.txt
==============================================================================
</screen>
@@ -4636,34 +4764,33 @@
<refentry>
<refnamediv>
<refname>svnlook dirs-changed</refname>
- <refpurpose>Print the directories that were themselves \
changed.</refpurpose> + <refpurpose>Zeigt geänderte Verzeichnissen \
an.</refpurpose> </refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svnlook dirs-changed REPOS_PATH</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svnlook dirs-changed ARCHIV_PFAD</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Print the directories that were themselves changed
- (property edits) or whose file children were
- changed.</para>
- </refsect1>
+ <para>Zeigt Verzeichnissen an, die geändert wurden
+ (bearbeitete Eigenschaften) oder deren Dateien geändert
+ wurden.</para> </refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
---revision (-r)
---transaction (-t)
+--Revision (-r)
+--Transaktion (-t)
</screen>
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>This shows the directories that changed in
- revision 40 in our sample repository:</para>
+ <para>Dies zeigt die Verzeichnisse, die in der Revision 40
+ in unserem einfachen Projektarchiv geändert wurden:</para>
<screen>
$ svnlook dirs-changed -r 40 /usr/local/svn/repos
@@ -4679,20 +4806,20 @@
<refname>svnlook help </refname>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>Also svnlook -h and svnlook -?.</programlisting>
+ <title>Übersicht</title>
+ <programlisting>Auch svnlook -h oder svnlook -?.</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Displays the help message for svnlook. This
- command, like its brother <command>svn help</command>, is
- also your friend, even though you never call it anymore
- and forgot to invite it to your last party.</para>
+ <para>Zeigt den Helptext für svnlook. Dieses Kommando ist,
+ ebenso wie <command>svn help</command>, ihr bester Freund,
+ auch wenn sie ihn nie anrufen oder zu ihrer Party
+ einladen.</para>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
+ <title>Alternative Namen</title>
<para>?, h</para>
</refsect1>
@@ -4702,42 +4829,43 @@
<refentry>
<refnamediv>
<refname>svnlook history</refname>
- <refpurpose>Print information about the history of a path in
- the repository (or the root directory if no path is
- supplied).</refpurpose>
+ <refpurpose>Zeigt Informationen über die Historie von einem
+ Pfad im Projektarchiv (oder vom Basisverzeichnis wenn kein
+ Pfad angegeben wird).
+ </refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svnlook history REPOS_PATH
- [PATH_IN_REPOS]</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svnlook history ARCHIV_PFAD
+ [PFAD_IN_REPOS]</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Print information about the history of a path in
- the repository (or the root directory if no path is
- supplied).</para>
+ <para>Zeigt Informationen über die Historie von einem Pfad
+ im Projektarchiv (oder vom Basisverzeichnis wenn kein Pfad
+ angegeben wird).</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
---revision (-r)
+--Revision (-r)
--show-ids
</screen>
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>This shows the history output for the path
- <filename>/tags/1.0</filename> as of revision 20 in our
- sample repository.</para>
+ <para>Dies zeigt die Historie für den Pfad
+ <filename>/tags/1.0</filename> ab Revision 20 in unserem
+ einfachen Projektarchiv.</para>
<screen>
$ svnlook history -r 20 /usr/local/svn/repos /tags/1.0 --show-ids
-REVISION PATH <ID>
+REVISION PFAD <ID>
-------- ---------
19 /tags/1.0 <1.2.12>
17 /branches/1.0-rc2 <1.1.10>
@@ -4762,41 +4890,41 @@
<refentry>
<refnamediv>
<refname>svnlook info</refname>
- <refpurpose>Print the author, datestamp, log message size,
- and log message.</refpurpose>
+ <refpurpose>Zeigt AutorIn, Datumstempel, Grösse der
+ Log-Nachricht und Log-Nachricht.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svnlook info REPOS_PATH</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svnlook info ARCHIV_PFAD</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Print the author, datestamp, log message size, and
- log message.</para>
+ <para>Zeigt AutorIn, Datumstempel, Grösse der Log-Nachricht
+ und Log-Nachricht.</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
---revision (-r)
---transaction (-t)
+--Revision (-r)
+--Transaktion (-t)
</screen>
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>This shows the info output for revision 40 in our
- sample repository.</para>
+ <para>Dies zeigt die Information über die Revision 40 in
+ unserem einfachen Projektarchiv.</para>
<screen>
$ svnlook info -r 40 /usr/local/svn/repos
sally
2003-02-22 17:44:49 -0600 (Sat, 22 Feb 2003)
15
-Rearrange lunch.
+Menü umgekrempelt.
</screen>
</refsect1>
@@ -4806,36 +4934,36 @@
<refentry>
<refnamediv>
<refname>svnlook log</refname>
- <refpurpose>Print the log message.</refpurpose>
+ <refpurpose>Zeigt die Log-Nachricht.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svnlook log REPOS_PATH</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svnlook log ARCHIV_PFAD</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Print the log message.</para>
+ <para>Zeigt die Log-Nachricht.</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
---revision (-r)
---transaction (-t)
+--Revision (-r)
+--Transaktion (-t)
</screen>
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>This shows the log output for revision 40 in our sample
- repository:</para>
+ <para>Dies zeigt die Log-Nachricht für die Revision 40 in
+ unserem einfachen Projektarchiv:</para>
<screen>
$ svnlook log /tmp/repos/
-Rearrange lunch.
+Menü umgekrempelt.
</screen>
</refsect1>
@@ -4845,45 +4973,45 @@
<refentry>
<refnamediv>
<refname>svnlook propget</refname>
- <refpurpose>Print the raw value of a property on a path in
- the repository.</refpurpose>
+ <refpurpose>Zeigt den Wert einer Eigenschaft für einen
+ Pfad im Projektarchiv.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svnlook propget REPOS_PATH PROPNAME \
PATH_IN_REPOS</programlisting> + <title>Übersicht</title>
+ <programlisting>svnlook propget ARCHIV_PFAD PROPNAME \
PFAD_IM_ARCHIV</programlisting> </refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>List the value of a property on a path in the
- repository.</para>
+ <para>Zeigt den Wert einer Eigenschaft für einen Pfad im
+ Projektarchiv.</para>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
+ <title>Alternative Namen</title>
<para>pg, pget</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
---revision (-r)
---transaction (-t)
+--Revision (-r)
+--Transaktion (-t)
</screen>
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>This shows the value of the file
- <filename>/trunk/sandwich</filename> in the
- <literal>HEAD</literal> revision:</para>
+ <para>Dies zeigt den Wert der Eigenschaft 'Gewuerz' für die
+ Datei <filename>/trunk/sandwich</filename> in der
+ <literal>HEAD</literal> Revision:</para>
<screen>
-$ svnlook pg /usr/local/svn/repos seasonings /trunk/sandwich
-mustard
+$ svnlook pg /usr/local/svn/repos Gewuerz /trunk/sandwich
+Senf
</screen>
</refsect1>
@@ -4893,42 +5021,43 @@
<refentry>
<refnamediv>
<refname>svnlook proplist</refname>
- <refpurpose>Print the names and values of versioned file and
- directory properties.</refpurpose>
+ <refpurpose>Zeigt Namen und Werte von Eigenschaften für
+ Dateien und Verzeichnisse im Projektarchiv.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svnlook proplist REPOS_PATH PATH_IN_REPOS</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svnlook proplist ARCHIV_PFAD \
PFAD_IM_ARCHIV</programlisting> </refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>List the properties of a path in the repository. With
- <option>--verbose</option>, show the property values too.</para>
+ <para>Zeigt die Namen der Eigenschaften eines Pfades im
+ Projektarchiv. Mit <option>--verbose</option> wird auch
+ der Wert der Eigenschaft angezeigt.</para>
</refsect1>
<refsect1>
- <title>Alternate Names</title>
+ <title>Alternative Namen</title>
<para>pl, plist</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
---revision (-r)
---transaction (-t)
+--Revision (-r)
+--Transaktion (-t)
--verbose (-v)
</screen>
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>This shows the names of properties set on the file
- <filename>/trunk/README</filename> in the
- <literal>HEAD</literal> revision:</para>
+ <para>Dies zeigt die Namen der Eigenschaften für die Datei
+ <filename>/trunk/README</filename> in der
+ <literal>HEAD</literal> Revision:</para>
<screen>
$ svnlook proplist /usr/local/svn/repos /trunk/README
@@ -4936,11 +5065,12 @@
svn:mime-type
</screen>
- <para>This is the same command as in the previous example,
- but this time showing the property values as well:</para>
+ <para>Dies ist das gleiche Kommando wie im vorigen Beispiel,
+ aber diesmal werden die Werte der Eigenschaften auch
+ angezeigt:</para>
<screen>
-$ svnlook proplist /usr/local/svn/repos /trunk/README
+$ svnlook proplist --verbose /usr/local/svn/repos /trunk/README
original-author : fitz
svn:mime-type : text/plain
</screen>
@@ -4952,35 +5082,36 @@
<refentry>
<refnamediv>
<refname>svnlook tree</refname>
- <refpurpose>Print the tree</refpurpose>
+ <refpurpose>Zeigt die Baumstruktur</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svnlook tree REPOS_PATH [PATH_IN_REPOS]</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svnlook tree ARCHIV_PFAD [PFAD_IM_ARCHIV]</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Print the tree, starting at <replaceable>PATH_IN_REPOS</replaceable> \
(if
- supplied, at the root of the tree otherwise), optionally
- showing node revision ids.</para>
+ <para>Zeigt die Baumstruktur des Projektarchives beginnend
+ mit <replaceable>PFAD_IM_ARCHIV</replaceable> (wenn
+ angegeben, andernfalls an der Basis), sowie optional die
+ Knoten-IDs der Revisionen.</para>
</refsect1>
<refsect1>
- <title>Switches</title>
+ <title>Optionen</title>
<screen>
---revision (-r)
---transaction (-t)
+--Revision (-r)
+--Transaktion (-t)
--show-ids
</screen>
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>This shows the tree output (with node-IDs) for revision
- 40 in our sample repository:</para>
+ <para>Dies zeigt die Baumstruktur (mit Knoten-IDs) für die
+ Revision 40 in unserem einfachen Projektarchiv:</para>
<screen>
$ svnlook tree -r 40 /usr/local/svn/repos --show-ids
@@ -5000,26 +5131,26 @@
<refentry>
<refnamediv>
<refname>svnlook uuid</refname>
- <refpurpose>Print the repository's
- <literal>UUID</literal>.</refpurpose>
+ <refpurpose>Zeigt die <literal>UUID</literal> des
+ Projektarchives.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svnlook uuid REPOS_PATH</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svnlook uuid ARCHIV_PFAD</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Print the <literal>UUID</literal> for the repository.
- the UUID is the repository's
- <emphasis>U</emphasis>niversal <emphasis>U</emphasis>nique
- <emphasis>ID</emphasis>entifier. The Subversion client
- uses this identifier to differentiate between one
- repository and another.</para>
+ <para>Zeigt die <literal>UUID</literal> des Projektarchives.
+ Die UUID ist die <emphasis>U</emphasis>niversal
+ <emphasis>U</emphasis>nique
+ <emphasis>ID</emphasis>entifier des Projektarchives. Der
+ Subversion Client benutzt diese Identifier um verschiedene
+ Projektarchiven voneinander zu unterscheiden.</para>
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
<screen>
$ svnlook uuid /usr/local/svn/repos
@@ -5033,23 +5164,23 @@
<refentry>
<refnamediv>
<refname>svnlook youngest</refname>
- <refpurpose>Print the youngest revision number.</refpurpose>
+ <refpurpose>Zeigt die neueste Revisionsnumber.</refpurpose>
</refnamediv>
<refsect1>
- <title>Synopsis</title>
- <programlisting>svnlook youngest REPOS_PATH</programlisting>
+ <title>Übersicht</title>
+ <programlisting>svnlook youngest ARCHIV_PFAD</programlisting>
</refsect1>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
- <para>Print the youngest revision number of a repository.</para>
+ <para>Zeigt die neueste Revisionsnumber eines Projektarchives.</para>
</refsect1>
<refsect1>
- <title>Examples</title>
+ <title>Beispiele</title>
- <para>This shows the youngest revision of our sample
- repository:</para>
+ <para>Dies zeigt die neueste Revisionsnummer für unser
+ einfaches Projektarchiv:</para>
<screen>
$ svnlook youngest /tmp/repos/
---------------------------------------------------------------------
To unsubscribe, e-mail: svn-unsubscribe@subversion.tigris.org
For additional commands, e-mail: svn-help@subversion.tigris.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic