![]() | HTMLWorld: Home | Hier werben | Impressum | |
|
|
|
|
|
|
|
Subversion (SVN): Arbeiten mit Subversionvon Michael Stöckel svn import -m "Neues Testprojekt" test1
Wenn bei der Angabe des Ziels im Repository der Ordner nicht existiert, wird dieser automatisch vom import-Kommando angelegt. Das betrifft nicht nur einen Ordner, sondern kann auch mit einer ganzen Struktur geschehen. Bezogen auf das Beispiel wird somit im Repository das Verzeichnis "projekt1" und darin der Ordner "trunk" angelegt, in das der Inhalt des lokalen Ordners "test1" kopiert wird.
Weiterhin kann man sich nach dem Import-Vorgang die übertragene Verzeichnisstruktur im Browser anzeigen lassen. 'Auschecken' der Dateien zu Entwicklungsbeginn
|
| Buchstabe | Bedeutung |
|---|---|
| A | Datei / Verzeichnis wird hinzugefügt |
| C | Konflikt bei Datei / Verzeichnis zwischen Repository und Working Copy |
| D | Datei / Verzeichnis wird gelöscht |
| M | Datei / Verzeichnis wird geändert |
In der Welt der Entwickler soll es schon passiert sein, dass man die Änderungen, die in mühevoller Arbeit durchgeführt wurden, wieder aus irgendeinem Grund wieder verwerfen muss. Natürlich kommt es hier noch dazu, dass man den ursprünglichen Stand der Datei weder kennt noch irgendwo gesichert hat. An diesem Punkt bietet Subversion erneut ein Kommando, wie man dieses Problem lösen kann. Mit Hilfe des revert-Kommandos werden in der Working Copy die aktuellen Änderungen wieder rückgängig gemacht und die letzte bekannte Revision der Datei zur Verfügung gestellt. Die folgende Zeile zeigt ein praktisches Beispiel, wie dieses Kommando eingesetzt werden kann:
Hinzufügen von Dateien:
svn add datei1 datei2
Jetzt stellt man fest, dass man sie doch nicht mehr braucht.
Hinzufügen rückgängig machen:
svn revert datei1 datei2
An diesem Beispiel sieht man, dass das revert-Kommando nicht nur bei Änderungen an Dateien greift, sondern auch bei administrativen Vorgängen wie dem Hinzufügen oder Löschen von Dateien.
Hinweis: Bei dem revert-Kommando sollte man wissen, dass sich das Ausführen des Kommandos nicht wieder rückgängig machen lassen kann. Das bedeutet, dass es bei der Version der Datei oder des Verzeichnisses nach dem revert bleibt.
Wenn die Entwicklungszeit an einem Projekt länger dauert, was keine Seltenheit ist, weiß man oft nicht mehr aus welchem Repository-Zweig man seine Working Copy ausgecheckt hat. Subversion liefert ein Kommando mit, mit dem man sich alle administrativen Informationen einer Working Copy anzeigen lassen kann. Dieses Feature ist auch dann hilfreich, wenn sich z. B. mehrere Working Copies auf einem Rechner befinden. Das Kommando "svn info" funktioniert nur innerhalb der Working Copy und liefert folgende Informationen, wie im folgenden Bild gezeigt wird:

Darstellung: Ausgabe des svn info-Kommandos
Die wichtigsten Informationen dieser Ausgabe stehen in der URL-Zeile. Bei der bekannten trunk, trags, branches-Struktur ist genau ersichtlich, um welchen Pfad es sich handelt. Weiterhin kann man auch hier den aktuellen Revisionsstand und das Datum der letzten Änderungen im Repository erkennen.
Ein weiteres interessantes Kommando ist das ls-Kommando, mit dem man sich den Inhalt eines Repositories anzeigen lassen kann. Dabei ist bei der Angabe der URL oder des Verzeichnisses ls-Befehl zu beachten, dass nur der Inhalt des jeweiligen Pfades angezeigt wird. Für tiefergehende Angaben muss das Kommando erneut ausgeführt und das entsprechende Ziel dazu angegeben werden. Das folgende Beispiel für das ls-Kommando im Beispiel-Repository an:
svn ls http://192.168.2.100:8080/svn/myrepos/projekt1/trunk
Dieses Kommando gibt die folgenden Informationen zurück:
.htusers
test1/
test2/
test3/
Möchte man jetzt den Inhalt des Ordners test1 sehen, muss das ls-Kommando wie folgt erweitert werden:
svn ls http://192.168.2.100:8080/svn/myrepos/projekt1/trunk/test1
Die folgende Tabelle zeigt eine Auswahl weiterer Kommandos, die Subversion automatisch mitliefert und die im Laufe der Arbeit mit SVN von Bedeutung sein können.
| Kommando | Bedeutung |
|---|---|
| svn diff | Vergleich zwischen zwei Versionen einer Datei (= Anzeige der Änderungen) |
| svn merge | Abgleich einer Datei in zwei Repositories |
| svn log | Anzeige der Kurzmitteilungen z. B. beim delete- oder Commit-Kommando |
| svn status | Anzeige des aktuellen Status des Inhaltes einer Working Copy |
| svn mkdir | Anlegen eines Verzeichnisses direkt im Repository |
| svn cleanup | beseitigt Sperren und beendet unterbrochene Informationen in einer Working Copy |
| svn lock | Sperrt Teile der Working Copy oder des Repositories (*) |
| svn export | Sicherung eines Repositories |
(*) Diese Sperre gilt nicht für den Nutzer, der die Sperre gesetzt hat. Er kann die markierten Teile weiter bearbeiten. Diese Sperre gilt für alle anderen Nutzer.
Es passiert oft, dass die folgende Fehlermeldung anzeigt wird, egal ob es sich um einen grafischen oder textbasierten Zugriff handelt:
svn: PROPFIND Anfrage fehlgeschlagen auf
"/svn/repos/projekt1/trunk/test1"
svn: PROPFIND von "/svn/repos/projekt1/trunk/test1":
405 Method Not Allowed (http://localhost:8080)
Im Normalfall ist die Ursache ein Fehler bei der Angabe der Ziel-URL, egal auf welche Weise man sie angibt.
Es wird empfohlen den Pfad der URL immer mit einem "/" abzuschließen. Damit wird sichergestellt, dass die URL auch immer korrekt interpretiert wird. Dann spielt es keine Rolle mehr, welche SVN-Server-Software verwendet wird.
|
|
| « zurück | weiter » |
| Wieso funktioniert der Dateiupload nicht mehr? von Shanai | |
| MediaWiki installieren von y0011216 | |
| Externe Daten importieren von hazet | |
| expressionWeb 3 Programmoberfläche von ooousooo | |
| drucken aus freehand mx von cyan | |
| Expression Web ohne FPSE? von kaso13 | |
| Frage von koelner-nahverkehr |
Subversion (SVN)
| Autor: | Jan Winkler | ||
| Bewertung: | |||
| Community: | 18 Beiträge im Subversion (SVN) Forum |
Navigation
| Wieso funktioniert der Dateiupload nicht mehr? von Shanai | ||
| MediaWiki installieren von y0011216 | ||
| Externe Daten importieren von hazet | ||
| expressionWeb 3 Programmoberfläche von ooousooo | ||
| drucken aus freehand mx von cyan | ||
| Expression Web ohne FPSE? von kaso13 | ||
| Frage von koelner-nahverkehr |
|
|
|
|
|
|
Startseite | Kontakt | Über uns | Impressum | Datenschutz | Was sind das für grüne Links? Unsere Angebote: HTML World | Downloads World | IT-News World | HSDPA World | Traveling World | Weather World | HSDPA | Internet Stick |