In den meisten Fällen werden Sie ein Subversion-Projektarchiv
zu nutzen beginnen, indem Sie einen
Checkout Ihres Projektes vornehmen. Das
Auschecken eines Projektarchivs erzeugt eine
„Arbeitskopie“ desselben auf Ihrem lokalen Rechner.
Diese Arbeitskopie umfasst die Revision HEAD
(die letzte Revision) des auf der Kommandozeile angegebenen
Subversion-Projektarchivs:
$ svn checkout http://svn.collab.net/repos/svn/trunk A trunk/Makefile.in A trunk/ac-helpers A trunk/ac-helpers/install.sh A trunk/ac-helpers/install-sh A trunk/build.conf … Ausgecheckt, Revision 8810.
Obwohl im vorangehenden Beispiel das Verzeichnis trunk
ausgecheckt
wird, können Sie genauso leicht irgendein tiefliegendes
Unterverzeichnis aus einem Projektarchiv auschecken, indem Sie das
Unterverzeichnis im URL beim Checkout angeben:
$ svn checkout \ http://svn.collab.net/repos/svn/trunk/subversion/tests/cmdline/ A cmdline/revert_tests.py A cmdline/diff_tests.py A cmdline/autoprop_tests.py A cmdline/xmltests A cmdline/xmltests/svn-test.sh … Ausgecheckt, Revision 8810.
Da Subversion ein copy-modify-merge-Modell (kopieren-ändern-zusammenführen) statt eines lock-modify-unlock-Modells (sperren-ändern-freigeben) verwendet (siehe „Versionierungsmodelle“), können Sie sofort damit beginnen, Änderungen an den Dateien und Verzeichnissen Ihrer Arbeitskopie vorzunehmen. Ihre Arbeitskopie ist wie jede beliebige andere Ansammlung aus Dateien und Verzeichnissen auf Ihrem System. Sie können sie bearbeiten, ändern, verschieben und sie sogar löschen und vergessen.
Warnung | |
---|---|
Obwohl sich Ihre Arbeitskopie „wie jede beliebige andere Ansammlung aus Dateien und Verzeichnissen auf Ihrem System“ verhält, können Sie zwar beliebig Dateien editieren, doch Sie müssen Subversion über alles andere was Sie tun in Kenntnis setzen. Wenn Sie z.B. ein Objekt in der Arbeitskopie kopieren oder verschieben möchten, sollten Sie svn copy oder svn move verwenden statt der Kopier- oder Verschiebebefehle Ihres Betriebssystems. Wir werden darauf später im Kapitel näher eingehen. |
Sofern Sie nicht bereit sind, das Hinzufügen einer neuen Datei oder eines neuen Verzeichnisses oder Änderungen an bestehenden Objekten an das Projektarchiv zu übergeben, besteht keine Notwendigkeit, dem Subversion-Server mitzuteilen, dass Sie irgendetwas gemacht haben.
Obwohl Sie sicherlich eine Arbeitskopie mit dem Projektarchiv-URL als einziges Argument auschecken können, haben sie auch die Möglichkeit, ein Verzeichnis hinter dem Projektarchiv-URL anzugeben. Das erstellt Ihre Arbeitskopie in dem angegebenen Verzeichnis. Zum Beispiel:
$ svn checkout http://svn.collab.net/repos/svn/trunk subv A subv/Makefile.in A subv/ac-helpers A subv/ac-helpers/install.sh A subv/ac-helpers/install-sh A subv/build.conf … Ausgecheckt, Revision 8810.
Das legt Ihre Arbeitskopie in einem Verzeichnis namens
subv
ab anstatt in trunk
so wie wir es früher schon einmal gemacht haben. Das Verzeichnis
subv
wird angelegt, sofern es nicht bereits
vorhanden ist.
Wenn Sie eine Subversion-Operation ausführen, für die Sie sich authentisieren müssen, speichert Subversion Ihre Zugangsdaten standardmäßig auf der Platte. Das geschieht zu Ihrer Annehmlichkeit, damit Sie bei künftigen Operationen nicht ständig Ihr Passwort eingeben müssen. Falls Sie wegen der Speicherung besorgt sein sollten, [3] können Sie das Zwischenspeichern entweder dauerhaft oder von Fall zu Fall abstellen.
Um das Passwort-Caching für einen bestimmten einmaligen
Befehl zu unterbinden, übergeben Sie die
--no-auth-cache
-Option auf der Kommandozeile.
Um das Caching dauerhaft abzustellen, können Sie der
Subversion-Konfigurationsdatei Ihres lokalen Rechners die Zeile
store-passwords = no
hinzufügen. Für
Details siehe „Zwischenspeicherung der Client-Zugangsdaten“.
Da Subversion standardmäßig Zugangsdaten speichert
(sowohl den Benutzernamen als auch das Passwort), erinnert es
sich bequemerweise, wer Sie das letzte Mal waren, als Sie Ihre
Arbeitskopie modifizierten. Doch manchmal ist das nicht
hilfreich – besonders, wenn Sie in einer gemeinsam
benutzten Arbeitskopie arbeiten wie in einem
Konfigurationsverzeichnis oder im Dokumenten-Wurzelverzeichnis
eines Webservers. In diesem Fall brauchen Sie nur die
--username
-Option auf der Kommandozeile zu
übergeben und Subversion versucht, sich als dieser Benutzer zu
authentisieren und wird Sie, wenn nötig, zur Eingabe eines
Passworts auffordern.
[3] Natürlich sind Sie nicht ernsthaft besorgt – erstens, weil Sie wissen, dass Sie nichts wirklich aus Subversion löschen können und zweitens, weil Ihr Subversion-Passwort nicht das gleiche ist wie irgendein anderes Ihrer 3 Millionen Passwörter, nicht wahr?