Machen Sie eine Testrunde

In diesem Abschnitt werden Sie anhand eines Test-Projektarchivs durch einige der am häufigsten genutzten Funktionen geführt. Natürlich wird darin nicht alles erklärt - es handelt sich schließlich um den Schnelleinstieg. Sobald Sie alles zum Laufen gebracht haben, sollten Sie sich die Zeit nehmen, die detailliertere Beschreibung im Rest des Handbuchs durchzulesen. Darin wird auch erklärt, wie Sie einen richtigen Subversion-Server aufsetzen.

Erstellen eines Projektarchivs

Für ein richtiges Projekt sollten Sie das Projektarchiv auf einem separaten Subversion-Server einrichten. Aus Gründen der Einfacheit werden wir für die Einführung ein lokales Projektarchiv verwenden, das sie direkt auf Ihrer Festplatte anlegen können, ohne dass Sie einen Server benötigen.

Zuerst legen Sie ein neues, leeres Verzeichnis auf ihrem Rechner an. Sie können es überall erstellen, aber in dieser Einleitung nennen wir es C:\svn_repos. Machen Sie einen Rechtsklick auf den neuen Ordner und wählen Sie TortoiseSVNProjektarchiv hier erstellen aus dem Kontextmenü. Das Projektarchiv wird innerhalb des Ordners erstellt und steht fortan zur Verfügung. Legen Sie auch gleich die Standard Ordnerstruktur für das Projektarchiv an, indem Sie auf Ordnerstruktur anlegen klicken.

Wichtig

Lokale Projektarchive sind sehr nützlich für Tests. Sie sollten diese allerdings nur verwenden, wenn Sie der einzige Entwickler mit einem einzelnen PC in einem Projekt sind. Sobald Sie in einer Gruppe arbeiten, sollten Sie einen richtigen Server einrichten. Es mag in einer kleinen Firma verlockend sein, die Projektarchive auf einem freigegebenen Netzwerkordner anzulegen und sich die Arbeit zu ersparen, einen Server einzurichten. Aber lassen Sie das besser bleiben! Sie werden andernfalls Daten verlieren! Lesen Sie in „Projektarchiv auf einer Netzwerkfreigabe“ nach, warum das eine schlechte Idee ist und wie Sie einen Server einrichten.

Importieren eines Projekts

Jetzt haben wir ein Projektarchiv, aber es ist noch vollkommen leer. Nehmen wir an Sie haben eine Reihe von Dateien in C:\Projects\Widget1, die Sie hinzufügen möchten. Navigieren Sie zu den Widget1-Ordner im Explorer und klicken Sie mit der rechten Maustaste darauf. Wählen Sie jetzt TortoiseSVNImportieren..., worauf folgender Dialog erscheint:

Abbildung 1.2. Der Import-Dialog

Der Import-Dialog


Ein Subversion Projektarchiv wird durch eine URL beschrieben, die es uns ermöglicht, Projektarchive überall im Internet zu referenzieren. In diesem Fall müssen wir auf unser eigenes lokales Projektarchiv verweisen, das die URL file:///c:/svn_repos/trunk hat und in das wir unser eigenes Projekt namens Widget1 einfügen. Beachten Sie die drei Schrägstriche nach Datei: und dass durchgänging VorwärtsSchrägstriche verwendet werden.

Die andere wichtige Funktion dieses Dialogfensters ist das Eingabefeld für die Import-Meldung. Darin geben Sie eine Meldung ein, die beschreibt, was Sie geändert haben. Wenn Sie dann später Ihre Projekthistorie durchsuchen, stellen diese Logmeldungen einen wertvollen Hinweis für Änderungen an Ihren Quellen dar. In diesem Fall können Sie einfach etwas eintragen wie Importiert des Widget1-Projekts. Klicken Sie auf OK, und der Ordner wird zum Projektarchiv hinzugefügt.

Eine Arbeitskopie auschecken

Nun, da wir ein Projekt in unserem Projektarchiv haben, müssen wir eine Arbeitskopie für die tägliche Arbeit erstellen. Beachten Sie, dass das Importieren eines Ordners diesen nicht automatisch in eine Arbeitskopie verwandelt. Der Subversion Begriff für das Erstellen einer frischen Arbeitskopie lautet Auschecken. Wir werden jetzt den Widget1 Ordner unseres Projektarchivs in einen Entwicklungsordner auf dem PC, C:\Projects\Widget1-Dev genannt, auschecken. Erstellen Sie diesen Ordner, klicken dann mit der rechten Maustaste darauf und wählen Sie TortoiseSVNAuschecken.... Geben Sie die auszucheckende URL, in diesem Fall file:///c:/svn_repos/trunk/Widget1 ein, und klicken Sie auf OK. Unser Entwicklung-Ordner wird dann mit Dateien aus dem Projektarchiv gefüllt.

Wichtig

In der Standardeinstellung befindet sich der Auschecken Befehl nicht im TortoiseSVN Untermenü, sondern im Explorermenü. TortoiseSVN Befehle, die sich nicht im Untermenü befinden, wird ein SVN Präfix vorangestellt: SVN Auschecken...

Sie werden feststellen, dass sich die Darstellung dieses Ordners von der unseres ursprünglichen Ordners unterscheidet. Jede Datei hat ein grünes Häkchen in der linken unteren Ecke. Dies sind die TortoiseSVN-Statussymbole, die nur in einer Arbeitskopie vorhanden sind. Grün zeigt an, dass die Datei gegenüber der Version aus dem Projektarchiv nicht verändert wurde.

Änderungen vornehmen

Zeit zu arbeiten. Im Ordner Widget1-Dev ändern wir jetzt Dateien - nehmen wir an, wir ändern Widget1.c und ReadMe.txt. Beachten Sie, dass sich die überlagerten Symbole dieser Dateien jetzt auf Rot geändert haben, was bedeutet, dass lokal Änderungen vorgenommen wurden.

Aber was sind die Änderungen? Klicken Sie mit der rechten Maustaste auf die geänderten Dateien und wählen Sie TortoiseSVNVergleich. Das Vergleichsprogramm von TortoiseSVN wird gestartet und zeigt genau an, welche Zeilen sich geändert haben.

Abbildung 1.3. Dateiunterschiede betrachten

Dateiunterschiede betrachten


OK, wir sind also mit den Änderungen zufrieden und werden nun das Projektarchiv aktualisieren. Diese Aktion wird als Übertragen der Änderungen bezeichnet. Klicken Sie mit der rechten Maustaste auf den Widget1-Dev-Ordner und wählen Sie TortoiseSVNÜbertragen. Der Übertragen-Dialog listet die geänderten Dateien auf, jeweils mit einem Kontrollkästchen. Möglicherweise möchten Sie nur eine Teilmenge der Dateien auswählen, aber in diesem Fall werden wir die Änderungen an beiden Dateien übernehmen. Geben Sie eine Meldung ein, die beschreibt, worum es bei der Änderung geht, und klicken auf OK. Im Fortschrittsdialog sehen Sie, wie die Dateien in das Projektarchiv hochgeladen werden, nun Sie sind fertig.

Weitere Dateien hinzfügen

Während sich das Projekt weiter entwickelt, müssen Sie neue Dateien hinzufügen. Angenommen, Sie fügen einige neuen Funktionen in Extras.c hinzu und fügen einen Verweis im vorhandenen Makefile hinzu. Klicken Sie mit der rechten Maustaste auf den Ordner und wählen Sie TortoiseSVNHinzufügen.... Der Hinzufügen-Dialog zeigt Ihnen nun alle nicht versionierten Dateien, und Sie können diejenigen auswählen, die Sie hinzufügen möchten. Eine weitere Möglichkeit, Dateien hinzuzufügen, besteht darin, mit der rechten Maustaste auf die Datei selbst zu klicken und TortoiseSVNHinzufügen zu wählen.

Wenn Sie jetzt den Ordner übertragen, wird die neue Datei als hinzugefügt und die vorhandene Datei als verändert angezeigt. Beachten Sie, dass Sie auf die Dateien doppelklicken können, um die enthaltenen Änderungen zu überprüfen.

Die Projekthistorie betrachten

Eine der nützlichsten Funktionen von TortoiseSVN ist der Log-Dialog. Er listet Ihnen alle Übertragungen einer Datei oder eines Ordners auf und zeigt die detaillierten Logmeldungen an, die Sie eingegeben haben (Sie haben doch, wie empfohlen, eine Logmeldung eingegeben oder? Wenn nicht, sehen Sie jetzt, warum das wichtig ist).

Abbildung 1.4. Der Log-Dialog

Der Log-Dialog


OK, ich habe ein wenig geschummelt und ein Beispiel aus dem Projektarchiv von TortoiseSVN verwendet.

Der obere Bereich zeigt eine Liste der Revisionen zusammen mit dem Anfang der Logmeldungen an. Wenn Sie eine dieser Revisionen auswählen, wird im mittleren Bereich die vollständige Logmeldung für die Revision dargestellt und im unteren Bereich eine Liste der geänderten Dateien und Ordner.

Jeder dieser Bereiche hat ein Kontextmenü, das Ihnen viel mehr Möglichkeiten bietet, diese Informationen zu nutzen. Im unteren Bereich können Sie auf eine Datei doppelklicken, um sich die Änderungen in dieser Revision anzeigen zu lassen. Lesen „Log-Dialog“ für die vollständige Darstellung.

Änderungen rückgängig machen

Eine Funktion aller Versionskontrollsysteme ist, dass sich die Änderungen rückgängig machen lassen, die Sie zuvor ausgeführt haben. Wie zu erwarten, bietet TortoiseSVN hierzu einen leichten Zugang.

Wenn Sie Änderungen loswerden möchten, die Sie noch nicht übertragen haben und Ihre Datei in den Zustand vor Ihrer Bearbeitung zurückversetzen möchten, ist TortoiseSVNRückgängig... Ihr Freund. Diese Aktion verwirft Ihre Änderungen (in den Papierkorb, nur für alle Fälle) und kehrt zu der Version zurück, mit der Sie begonnen hatten. Wenn Sie nur einige der Änderungen loswerden möchten, können Sie TortoiseMerge nutzen, um die Unterschiede anzuzeigen und selektiv geänderte Zeilen wieder herzustellen.

Wenn Sie die Auswirkungen einer bestimmten Revision rückgängig machen möchten, beginnen Sie mit dem Log-Dialog und suchen Sie dort die problematische Revision auf. Wählen Sie KontextmenüÄnderungen dieser Revision rückgängig machen und die betreffenden Änderungen werden rückgängig gemacht.