[svnbook] r4928 committed - Translation: ch01-fundamental-concepts.xml...

svnbook at googlecode.com svnbook at googlecode.com
Tue Nov 25 00:26:16 CST 2014


Revision: 4928
Author:   jmfelderhoff at gmx.eu
Date:     Tue Nov 25 06:26:02 2014 UTC
Log:      Translation: ch01-fundamental-concepts.xml
* Version Control Basice
** The Repository
** The Working Copy
** Versioning Models
*** The problem of file sharing
*** The lock-modify-unlock solution
*** The copy-modify-merge solution

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

Modified:
  /branches/1.8/de/book/ch01-fundamental-concepts.xml

=======================================
--- /branches/1.8/de/book/ch01-fundamental-concepts.xml	Fri May  9 12:00:28  
2014 UTC
+++ /branches/1.8/de/book/ch01-fundamental-concepts.xml	Tue Nov 25 06:26:02  
2014 UTC
@@ -1,3 +1,5 @@
+<!-- -*- sgml -*- -->
+
  <chapter id="svn.basic">
  <!--
    <title>Fundamental Concepts</title>
@@ -39,33 +41,32 @@
  -->
      <title>Grundlagen der Versionskontrolle</title>

-    <indexterm>
  <!--
-      <primary>version control systems</primary>
--->
-      <primary>Versionskontrollsysteme</primary>
-    </indexterm>
-
-<!--
-    <para>A version control system (or revision control system) is a
-      system that tracks incremental versions (or revisions) of files
-      and, in some cases, directories over time.  Of course, merely
-      tracking the various versions of a user's (or group of users')
-      files and directories isn't very interesting in itself.  What
-      makes a version control system useful is the fact that it allows
-      you to explore the changes which resulted in each of those
-      versions and facilitates the arbitrary recall of the
+    <para>
+      <indexterm>
+        <primary>version control systems</primary>
+      </indexterm>A version control system (or revision control
+      system) is a system that tracks incremental versions (or
+      revisions) of files and, in some cases, directories over time.
+      Of course, merely tracking the various versions of a user's (or
+      group of users') files and directories isn't very interesting in
+      itself.  What makes a version control system useful is the fact
+      that it allows you to explore the changes which resulted in each
+      of those versions and facilitates the arbitrary recall of the
        same.</para>
  -->
-    <para>Ein Versionskontrollsystem (oder Revisionskontrollsystem)
-      ist ein System, das inkrementelle Versionen (oder Revisionen)
-      von Dateien und, in manchen Fällen, Verzeichnissen über die Zeit
-      hinweg verfolgt. Natürlich ist es für sich nicht sehr
-      interessant, die verschiedenen Versionen eines Anwenders (oder
-      einer Gruppe von Anwendern) zu verfolgen. Was ein
-      Versionskontrollsystem nützlich macht, ist die Tatsache, dass es
-      Ihnen erlaubt, die Änderungen zu untersuchen, die zu jeder
-      dieser Versionen geführt haben und es ermöglicht, erstere
+    <para>
+      <indexterm>
+        <primary>Versionskontrollsysteme</primary>
+      </indexterm>Ein Versionskontrollsystem (oder
+      Revisionskontrollsystem) ist ein System, das inkrementelle
+      Versionen (oder Revisionen) von Dateien und, in manchen Fällen,
+      Verzeichnissen über die Zeit hinweg verfolgt. Natürlich ist es
+      für sich nicht sehr interessant, die verschiedenen Versionen
+      eines Anwenders (oder einer Gruppe von Anwendern) zu verfolgen.
+      Was ein Versionskontrollsystem nützlich macht, ist die Tatsache,
+      dass es Ihnen erlaubt, die Änderungen zu untersuchen, die zu
+      jeder dieser Versionen geführt haben und es ermöglicht, erstere
        jederzeit wieder aufzurufen.</para>

  <!--
@@ -90,19 +91,21 @@
  -->
        <title>Das Projektarchiv</title>

-      <indexterm>
  <!--
-        <primary>repository</primary>
-        <secondary>defined</secondary>
--->
-        <primary>Projektarchiv</primary>
-        <secondary>Definition</secondary>
-      </indexterm>
-
-<!--
-      <para>At the core of the version control system is a repository,
-        which is the central store of that system's data.  The
-        repository usually stores information in the form of a
+      <para>
+        <indexterm>
+          <primary>repositories</primary>
+        </indexterm>
+        <indexterm>
+          <primary>repositories</primary>
+          <secondary>filesystem tree</secondary>
+        </indexterm>
+        <indexterm>
+          <primary>version control systems</primary>
+          <secondary>clients</secondary>
+        </indexterm>At the core of the version control system is a
+        repository, which is the central store of that system's data.
+        The repository usually stores information in the form of a
          <firstterm>filesystem tree</firstterm>—a hierarchy of
          files and directories.  Any number of
          <firstterm>clients</firstterm> connect to the repository, and
@@ -112,7 +115,18 @@
          <xref linkend="svn.basic.repository.dia-1"/> illustrates
          this.</para>
  -->
-      <para>Im Kern eines Versionskontrollsystems ist ein
+      <para>
+        <indexterm>
+          <primary>Projektarchive</primary>
+        </indexterm>
+        <indexterm>
+          <primary>Projektarchive</primary>
+          <secondary>Dateisystem-Baum</secondary>
+        </indexterm>
+        <indexterm>
+          <primary>Versionskontrollsysteme</primary>
+          <secondary>Clients</secondary>
+        </indexterm>Im Kern eines Versionskontrollsystems ist ein
          Projektarchiv, das der zentrale Speicher der Daten dieses
          Systems ist. Das Projektarchiv speichert Informationen
          gewöhnlicherweise in Form eines
@@ -184,47 +198,44 @@
  -->
        <title>Die Arbeitskopie</title>

-      <indexterm>
  <!--
-        <primary>working copy</primary>
-        <secondary>defined</secondary>
+      <para>
+        <indexterm>
+          <primary>working copies</primary>
+        </indexterm>A version control system's value comes from the
+        fact that it tracks versions of files and directories, but the
+        rest of the software universe doesn't operate
+        on <quote>versions of files and directories</quote>.  Most
+        software programs understand how to operate only on
+        a <emphasis>single</emphasis> version of a specific type of
+        file.  So how does a version control user interact with an
+        abstract—and, often, remote—repository full of
+        multiple versions of various files in a concrete fashion?  How
+        does his or her word processing software, presentation
+        software, source code editor, web design software, or some
+        other program—all of which trade in the currency of
+        simple data files—get access to such files?  The answer
+        is found in the version control construct known as
+        a <firstterm>working copy</firstterm>.</para>
  -->
-        <primary>Arbeitskopie</primary>
-        <secondary>Definition</secondary>
-      </indexterm>
-
-<!--
-      <para>A version control system's value comes from the fact that it
-        tracks versions of files and directories, but the rest of the
-        software universe doesn't operate on <quote>versions of files
-        and directories</quote>.  Most software programs understand
-        how to operate only on a <emphasis>single</emphasis> version
-        of a specific type of file.  So how does a version control
-        user interact with an abstract—and, often,
-        remote—repository full of multiple versions of various
-        files in a concrete fashion?  How does his or her word
-        processing software, presentation software, source code
-        editor, web design software, or some other program—all
-        of which trade in the currency of simple data files—get
-        access to such files?  The answer is found in the version
-        control construct known as a <firstterm>working
-        copy</firstterm>.</para>
--->
-      <para>Der Wert eines Versionskontrollsystems rührt von der
-        Tatsache her, dass es Versionen von Dateien und Verzeichnissen
-        verfolgt, doch der Rest des Software-Universums arbeitet nicht
-        auf <quote>Versionen von Dateien und Verzeichnissen</quote>.
-        Die meisten Programme wissen, wie mit einer
-        <emphasis>einzelnen</emphasis> Version eines bestimmten
-        Dateityps umgegangen wird. Wie arbeitet also ein Anwender eines
-        Versionskontrollsystems konkret mit einem abstrakten –
-        und oft entfernten – Projektarchiv voll mit mehreren
-        Versionen verschiedener Dateien? Wie schaffen es seine oder
-        ihre Textbearbeitungs-Software, Präsentations-Software,
-        Quelltexteditoren, Web-Design-Software oder sonstigen
-        Programme, die alle nur mit einfachen Dateien umgehen können,
-        Zugriff auf solche Dateien zu bekommen? Die Antwort findet
-        sich im Versionskontroll-Konstrukt, das als
+      <para>
+        <indexterm>
+          <primary>Arbeitskopien</primary>
+        </indexterm>Der Wert eines Versionskontrollsystems rührt von
+        der Tatsache her, dass es Versionen von Dateien und
+        Verzeichnissen verfolgt, doch der Rest des Software-Universums
+        arbeitet nicht auf <quote>Versionen von Dateien und
+        Verzeichnissen</quote>.  Die meisten Programme wissen, wie mit
+        einer <emphasis>einzelnen</emphasis> Version eines bestimmten
+        Dateityps umgegangen wird. Wie arbeitet also ein Anwender
+        eines Versionskontrollsystems konkret mit einem abstrakten
+        – und oft entfernten – Projektarchiv voll mit
+        mehreren Versionen verschiedener Dateien? Wie schaffen es
+        seine oder ihre Textbearbeitungs-Software,
+        Präsentations-Software, Quelltexteditoren, Web-Design-Software
+        oder sonstigen Programme, die alle nur mit einfachen Dateien
+        umgehen können, Zugriff auf solche Dateien zu bekommen? Die
+        Antwort findet sich im Versionskontroll-Konstrukt, das als
          <firstterm>Arbeitskopie</firstterm> bekannt ist.</para>

  <!--
@@ -371,19 +382,14 @@
  -->
          <title>Die Sperren-Ändern-Entsperren-Lösung</title>

-        <indexterm>
-<!--
-          <primary>version control</primary>
-          <secondary>models</secondary>
-          <tertiary>lock-modify-unlock</tertiary>
--->
-          <primary>Versionskontrolle</primary>
-          <secondary>Modelle</secondary>
-          <tertiary>Sperren-Ändern-Entsperren</tertiary>
-        </indexterm>

  <!--
-        <para>Many version control systems use a
+        <para>
+          <indexterm>
+            <primary>version control</primary>
+            <secondary>models</secondary>
+            <tertiary>lock-modify-unlock</tertiary>
+          </indexterm>Many version control systems use a
            <firstterm>lock-modify-unlock</firstterm> model to address
            the problem of many authors clobbering each other's work.
            In this model, the repository allows only one person to
@@ -391,25 +397,34 @@
            using locks.  Harry must <quote>lock</quote> a file before
            he can begin making changes to it.  If Harry has locked a
            file, Sally cannot also lock it, and therefore cannot make
-          any changes to that file.  All she can do is read the file
-          and wait for Harry to finish his changes and release his
-          lock.  After Harry unlocks the file, Sally can take her turn
-          by locking and editing the file.
+          any changes to that file.  All she can do is
+          wait for Harry to finish his changes, save the file and
+          release his lock.  After Harry unlocks the file, Sally
+          can take her turn by locking the file.  Then she may read
+          the latest version of the file and edit it.
            <xref linkend="svn.basic.vsn-models.lock-unlock.dia-1"/>
            demonstrates this simple solution.</para>
  -->

-        <para>Viele Versionskontrollsysteme verwenden ein
+        <para>
+          <indexterm>
+            <primary>Versionskontrolle</primary>
+            <secondary>Modelle</secondary>
+            <tertiary>Sperren-Ändern-Entsperren</tertiary>
+          </indexterm>Viele Versionskontrollsysteme verwenden ein
            <firstterm>Sperren-Ändern-Entsperren</firstterm>-Modell um zu
            verhindern, dass verschiedene Autoren sich gegenseitig die  
Änderungen
            löschen. Bei diesem Modell erlaubt das Projektarchiv nur jeweils
            einem Programmierer den Zugriff auf eine Datei.  Harry müsste  
also
            die Datei sperren, ehe er anfängt, seine Änderungen einzugeben.  
Wenn
            Harry die Datei gesperrt hat, kann Sally sie nicht ebenfalls  
sperren
-          und daher auch nichts ändern. Sie kann die Datei in der Zeit nur
-          lesen und darauf warten, dass Harry mit seiner Arbeit fertig ist  
und
-          die Datei entsperrt.
-          <xref linkend="svn.basic.vsn-models.lock-unlock.dia-1"/></para>
+          und daher auch nichts ändern. Sie in der Zeit nur
+          darauf warten, dass Harry mit seiner Arbeit fertig ist und
+          die Sperre freigibt. Nachdem Harry die Datei entsperrt hat,
+          ist Sally dran, die Datei zu sperren. Dann kann sie die
+          letzte Version der Datei lesen und sie bearbeiten.
+          <xref linkend="svn.basic.vsn-models.lock-unlock.dia-1"/>
+          veranschaulicht diese einfache Lösung.</para>

          <figure id="svn.basic.vsn-models.lock-unlock.dia-1">
  <!--
@@ -526,31 +541,31 @@
  -->
          <title>Die Kopieren-Ändern-Zusammenführen-Lösung</title>

-        <indexterm>
-<!--
-          <primary>version control</primary>
-          <secondary>models</secondary>
-          <tertiary>copy-modify-merge</tertiary>
--->
-          <primary>Versionskontrolle</primary>
-          <secondary>Modelle</secondary>
-          <tertiary>kopieren-ändern-zusammenführen</tertiary>
-        </indexterm>

  <!--
-        <para>Subversion, CVS, and many other version control systems
-          use a <firstterm>copy-modify-merge</firstterm> model as an
-          alternative to locking.  In this model, each user's client
-          contacts the project repository and creates a personal
-          working copy.  Users then work simultaneously and
+        <para>
+          <indexterm>
+            <primary>version control</primary>
+            <secondary>models</secondary>
+            <tertiary>copy-modify-merge</tertiary>
+          </indexterm>Subversion, CVS, and many other version control
+          systems use a <firstterm>copy-modify-merge</firstterm> model
+          as an alternative to locking.  In this model, each user's
+          client contacts the project repository and creates a
+          personal working copy.  Users then work simultaneously and
            independently, modifying their private copies.  Finally, the
            private copies are merged together into a new, final
            version.  The version control system often assists with the
            merging, but ultimately, a human being is responsible for
            making it happen correctly.</para>
  -->
-        <para>Subversion, CVS und viele andere Versionskontrollsysteme
-          benutzen ein
+        <para>
+          <indexterm>
+            <primary>Versionskontrolle</primary>
+            <secondary>Modelle</secondary>
+            <tertiary>kopieren-ändern-zusammenführen</tertiary>
+          </indexterm>Subversion, CVS und viele andere
+          Versionskontrollsysteme benutzen ein
            <firstterm>Kopieren–Ändern–Zusammenfassen</firstterm>-Modell
            als Alternative zum Sperren. In diesem Modell verbindet sich
            jeder Client der Anwender mit dem Projektarchiv und erzeugt
@@ -563,32 +578,37 @@
            korrekt abläuft.</para>

  <!--
-        <para>Here's an example.  Say that Harry and Sally each create
-          working copies of the same project, copied from the
-          repository.  They work concurrently and make changes to the
-          same file A within their copies.  Sally saves her changes to
-          the repository first.  When Harry attempts to save his changes
-          later, the repository informs him that his file A is
-          <firstterm>out of date</firstterm>.  In other words, file A
-          in the repository has somehow changed since he last copied
-          it.  So Harry asks his client
-          to <firstterm>merge</firstterm> any new changes from the
-          repository into his working copy of file A.  Chances are
-          that Sally's changes don't overlap with his own; once he has
-          both sets of changes integrated, he saves his working copy
-          back to the repository.
+        <para>
+          <indexterm>
+            <primary>out of date</primary>
+          </indexterm>Here's an example.  Say that Harry and Sally
+          each create working copies of the same project, copied from
+          the repository.  They work concurrently and make changes to
+          the same file A within their copies.  Sally saves her
+          changes to the repository first.  When Harry attempts to
+          save his changes later, the repository informs him that his
+          file A is <firstterm>out of date</firstterm>.  In other
+          words, file A in the repository has somehow changed since he
+          last copied it.  So Harry asks his client to merge any new
+          changes from the repository into his working copy of file A.
+          Chances are that Sally's changes don't overlap with his own;
+          once he has both sets of changes integrated, he saves his
+          working copy back to the repository.
            <xref linkend="svn.basic.vsn-models.copy-merge.dia-1"/> and
            <xref linkend="svn.basic.vsn-models.copy-merge.dia-2"/> show
            this process.</para>
  -->
-        <para>Hier ist ein Beispiel: Harry und Sally haben sich
-          jeweils eine eigene Arbeitskopie des im Projektarchiv
-          vorhandenen Projektes geschaffen. Beide arbeiten nun an
-          der selben Datei A innerhalb ihrer jeweiligen Kopien. Sally
+        <para>
+          <indexterm>
+            <primary>out of date</primary>
+          </indexterm>Hier ist ein Beispiel: Harry und Sally haben
+          sich jeweils eine eigene Arbeitskopie des im Projektarchiv
+          vorhandenen Projektes geschaffen. Beide arbeiten nun an der
+          selben Datei A innerhalb ihrer jeweiligen Kopien. Sally
            speichert ihre Version zuerst im Projektarchiv ab. Wenn
            Harry später ebenfalls versucht, seine Änderungen zu
-          speichern, informiert ihn das Projektarchiv, das seine Datei A
-          nicht mehr aktuell ist. Das bedeutet, dass seitdem er sich
+          speichern, informiert ihn das Projektarchiv, das seine Datei
+          A nicht mehr aktuell ist. Das bedeutet, dass seitdem er sich
            seine Kopie erschaffen hat, sind irgendwelche Änderungen
            aufgetreten. Also bittet Harry seinen Client darum, diese
            neuen Änderungen in seine Arbeitskopie der Datei A
@@ -616,16 +636,13 @@
            <graphic fileref="images/ch02dia5.png"/>
          </figure>

-        <indexterm>
  <!--
-          <primary>conflicts</primary>
--->
-          <primary>Konflikte</primary>
-        </indexterm>
-
-<!--
-        <para>But what if Sally's changes <emphasis>do</emphasis> overlap
-          with Harry's changes?  What then?  This situation is called a
+        <para>
+          <indexterm>
+            <primary>conflicts</primary>
+          </indexterm>But what if Sally's changes
+          <emphasis>do</emphasis> overlap with Harry's changes?  What
+          then?  This situation is called a
            <firstterm>conflict</firstterm>, and it's usually not much
            of a problem.  When Harry asks his client to merge the
            latest repository changes into his working copy, his copy of
@@ -639,20 +656,23 @@
            can safely save the merged file back to the
            repository.</para>
  -->
-         <para>Was aber passiert, <emphasis>wenn</emphasis> Sallys
-           Änderungen mit Harrys kollidieren? Diese Situation wird
-           <firstterm>Konflikt</firstterm> genannt und ist
-           normalerweise kein allzu großes Problem. Wenn Harry Sallys
-           Änderungen in seine Datei einpflegen lassen will, werden in
-           seiner Datei die miteinander in Konflikt stehenden
-           Änderungen gekennzeichnet, er kann sämtliche Änderungen
-           sehen und manuell zwischen ihnen wählen. Das Programm löst
-           solche Konfliktsituationen nicht automatisch, nur Menschen
-           sind in der Lage, die Probleme zu erkennen und die nötigen
-           intelligenten Änderungen durchzuführen.  Wenn Harry die
-           Konfliktsituationen – vielleicht nach einer kurzen
-           Diskussion mit Sally – gelöst hat, kann er seine
-           Datei problemlos ins Projektarchiv speichern.</para>
+         <para>
+          <indexterm>
+            <primary>Konflikte</primary>
+          </indexterm>Was aber passiert, <emphasis>wenn</emphasis>
+          Sallys Änderungen mit Harrys kollidieren? Diese Situation
+          wird <firstterm>Konflikt</firstterm> genannt und ist
+          normalerweise kein allzu großes Problem. Wenn Harry Sallys
+          Änderungen in seine Datei einpflegen lassen will, werden in
+          seiner Datei die miteinander in Konflikt stehenden
+          Änderungen gekennzeichnet, er kann sämtliche Änderungen
+          sehen und manuell zwischen ihnen wählen. Das Programm löst
+          solche Konfliktsituationen nicht automatisch, nur Menschen
+          sind in der Lage, die Probleme zu erkennen und die nötigen
+          intelligenten Änderungen durchzuführen.  Wenn Harry die
+          Konfliktsituationen – vielleicht nach einer kurzen
+          Diskussion mit Sally – gelöst hat, kann er seine Datei
+          problemlos ins Projektarchiv speichern.</para>

  <!--
          <para>The copy-modify-merge model may sound a bit chaotic, but


More information about the svnbook-dev mailing list