TortoiseSVN unter Windows
Inhalt TortoiseSVN unter Windows 1 1) Vorwort 3 2) Allgemeine Hinweise zu SVN 4 3) Installation und Konfiguration 5 4) Die SVN-Kommandos 6 4.1) Das Kommando checkout / auschecken 6 4.2) Das Kommando Status 7 4.3) Das Kommando info 8 4.4) Das Kommando diff 9 4.5) Das Kommando Update / aktualisieren 10 4.6) Das Kommando Commit / übertragen 11 4.7) Das Kommando Revert / rückgängig 12 5) Der Repository-Browser 13 6) Fragen und Antworten 14 Seite 2
1) Vorwort Diese Dokumentation soll dich im Umgang mit einer revisionsbasierten Software vertraut machen. Dir werden hier bestimmte Fehlerkonstellationen gezeigt, aber auch die richtige Anwendung der einzelnen Befehle. Diese Dokumentation beschreibt das dazu genutzte Programm TortoiseSVN. Das Programm ermöglicht eine zentrale Ablage der Daten auf einem SVN-Server, sodass mehrere Personen an einem Projekt und den dazugehörigen Daten arbeiten können, ohne dass es zu Konflikten mit den Daten kommt. Dies wird durch das Konzept der Revision (Eine Revision ist eine gespeicherte Dateiversion auf dem Server.) ermöglicht. Du speicherst zunächst einen bestimmten Stand der Daten ( Commit / übertragen ). Werden nun Daten geändert und auf dem Server gespeichert, erstellt der SVN-Server automatisch eine neue Revision. Versucht nun ein anderer Spieler, seine Änderungen ebenfalls auf dem Server zu speichern, muss dieser erst die neuen Daten vom Server laden ( Update / aktualisieren ) und gegebenenfalls Konflikte mit seinen Änderungen korrigieren. Dadurch werden Dateikonflikte vermieden und ggf. korrigiert. Durch die Revisionen ist auch eine Art Backupsystem vorhanden. So können Änderungen wieder zurückgespielt und auf einen alten Stand der Daten gesetzt werden ( Revert / rückgängig ). Diese Dokumentation ist nicht frei von Fehlern. Dennoch bemühen sich der technische Betreiber (Adm Jong) und sein Team, diese Dokumentation stets zu aktualisieren und zu korrigieren, damit sie inhaltlich und sprachlich immer den jeweiligen Standards entspricht. Dein Feedback oder Fragen kannst du jederzeit schriftlich an den SVN-Beauftragten der SRI-Leitung, FCpt Braker (braker@starfleetonline.de), schicken. Seite 3
2) Allgemeine Hinweise zu SVN Bitte beachte bei der Vergabe von Namen für Ordner und Dateien auch die entsprechenden Regeln deiner Unterabteilung (bzw. Department) oder Abteilung. Du kannst sie meist in den jeweiligen Satzungen nachlesen oder dich bei deinem Vorgesetzten informieren. Zu empfehlen ist hier der Bereich der druckbaren Zeichen (z.b.: A-Z, a-z, 0-9, -_). Du solltest auf Sonderzeichen und Leerzeichen verzichten, da die verschiedenen Betriebssysteme diese unterschiedlich speichern könnten und somit die Gefahr groß ist, dass Dateien beschädigt werden. Im Allgemeinen empfiehlt es sich auch, das Repository auf einer tieferen Ebene auszuchecken. So vermeidest du eventuell auftretende Probleme mit der Pfadlänge. (z. B. http://svn.starfleetonline.de/repository/sfo/sri/domp statt http://svn.starfleetonline.de/repository/sfo/) Seite 4
3) Installation und Konfiguration Laden dir TortoiseSVN und das deutsche Sprachpaket unter http://tortoisesvn.net/downloads.html herunter. Die Sprachpakete befinden sich ein wenig unterhalb des Downloads für das Hauptprogramm unter Language packs. Erstelle nun einen Ordner, in dem künftig die Dateien gespeichert werden sollen. Für diese Anleitung verwenden wir den Ordner SFO_SVN, der sich im Verzeichnis C:\ befindet. Ordnername und Speicherort können natürlich von dir selbst gewählt werden. Installiere nun TortoiseSVN und danach das Sprachpaket. Klicke nun mit der rechten Maustaste auf den Ordner SVN und wähle im Kontextmenü den Eintrag TortoiseSVN Settings. Dort kann nun die Sprache auf Deutsch umgestellt werden. Wie du einen Account erhältst, entnimm bitte deiner (Unter-) Abteilungssatzung oder erfrage dies bei deinem Vorgesetzten (im Zweifel bei der SRI-Leitung: sri@starfleetonline.de). Zudem solltest du dein initiales Passwort unter http://svn.starfleetonline.de/ ändern. Abbildung 1: Webinterface Klicke anschließend auf Profile. Dort findest du die Funktion zum Änderun deines Passworts. Zudem kannst du, wenn du auf ein Repository klickst, dir mit Hilfe des Browsers den jeweiligen Verzeichnisinhalt und einzelne Dateien anschauen. Seite 5
4) Die SVN-Kommandos In diesem Abschnitt befassen wir uns mit den gängigen Kommandos, die du im täglichen Gebrauch öfter benutzen wirst. In dieser Anleitung wird nur das Programm TortoiseSVN (für Windows) erklärt. Es gibt eine weitere Anleitung für die kommandozeilenbasierte Bedienung unter MacOS und Linux. Die Bezeichnungen sind jeweils auf englisch und auf deutsch aufgeführt. 4.1) Das Kommando Checkout / auschecken Den Checkout / die Funktion auschecken benutzt du, um dir erstmalig den Stand eines Repositorys vom Server zu laden. Es wird meist nur bei der Ersteinrichtung für das jeweilige Repository genutzt oder nachdem der lokale Stand so kaputt ist, dass nochmal neu begonnen werden muss. Mache einen Rechtklick auf den Ordner, in den du ein Repository herunterladen willst und wähle im Kontextmenü den Punkt Checkout / SVN Auschecken. Meist öffnet sich daraufhin ein Fenster, in dem du die Adresse des Repositorys eingeben musst: Abbildung 2: Windows- checkout -Fenster (englisch) Seite 6
4.2) Das Kommando Status Mit Hilfe des Status kannst du dir alle lokalen Veränderungen der Dateien und Ordner anzeigen lassen. Du erhältst damit schnell einen Überblick, was du alles geändert hast oder was auf dem Server bereits geändert wurde. Unsere Option befindet sich im Rechtsklickmenü des Dateisystems unter dem Punkt TortoiseSVN und der Option Check for modifications / Prüfe auf Änderungen. Du erhältst dann ein Fenster, in dem du die verschiedenen Optionen setzen kannst und eine entsprechende Übersicht. Abbildung 3: Windows- status -Fenster (englisch) Seite 7
4.3) Das Kommando info Über diesen Befehl erhältst du alle wichtigen Informationen zu deiner lokalen Kopie bzw. zu der SVN- Server-URL. Dies ist notwendig, wenn du an verschiedenen Repositories arbeitest und dich vergewissern willst, dass du im richtigen arbeitest. Oder um einem Kollegen die notwendigen Informationen zukommen zu lassen. Um diese Informationen angezeigt zu bekommen, führe einfach einen Rechtsklick auf den jeweiligen Ordner aus und rufe den Eigenschaften -Dialog auf. Wechsle dann in den Reiter Subversion (mit dem Schildkrötensymbol) und du kannst die entsprechenden Informationen sehen. Abbildung 4: Windows- info -Fenster Seite 8
4.4) Das Kommando diff Mit Hilfe des diff kannst du dir Unterschiede zwischen den Revisionen oder auch zwischen Dateiversionen anzeigen lassen. Dieses Kommando ist vor allem vor einem Commit / Übertragen nützlich, um seine Änderungen nochmals zu überprüfen. Um diese Informationen zu erhalten, musst du dich erst durch ein weiteres Fenster arbeiten: Zuerst benötigst du das status -Fenster wie in 4.2) Das Kommando Status (Abbildung 3: Windows- status -Fenster). Dort kannst du auf jede Datei einen Rechtsklick vornehmen und den Unterpunkt show differences as unified diff / Zeige Unterschiede als Standard-Diff aufrufen. Anschließend erhältst du das folgende Fenster und kannst alle Änderungen anschauen. Abbildung 5: Windows- diff -Fenster (englisch) Seite 9
4.5) Das Kommando Update / aktualisieren Eines der Kommandos, die du bei deiner Arbeit häufiger gebrauchen wirst, ist der Befehl Update / aktualisieren. Dieser Befehl aktualisiert deine lokale Kopie auf den aktuellen Stand vom Server. Sollten in den jeweiligen Dateien lokale Änderungen vorhanden sein, werden diese automatisch zusammengeführt (merge). Sollte der Automatismus Probleme haben, wirst du zur Problemlösung aufgefordert. Die Möglichkeiten zur Problemlösung werden im Kapitel 6) Fragen und Antworten näher erläutert. Klicke einfach im Dateisystem auf deinen SVN-Ordner und führen einen Rechtsklick aus. Wähle dann den Punkt SVN Update / SVN Aktualisieren aus und der Vorgang startet. Abbildung 6: Windows- update -Fenster (englisch) Seite 10
4.6) Das Kommando Commit / übertragen Um deine lokalen Änderungen an den Server zu übertragen, benötigst du den Befehl Commit / übertragen. Vor jedem Commit musst du aber ein Update machen, damit du immer die aktuelle Serverversion hast und Konflikte beim Serverstand vermieden werden. Bei jedem Commit solltest du deine Änderungen auch entsprechend kommentieren, damit deine Kollegen sich auch entsprechend informieren können, falls sie dort mal Änderungen vornehmen müssen. Auch der Commit ist leicht zu erreichen: Du tätigst wieder einen Rechtsklick auf den jeweiligen Ordner, aber wählst dieses Mal den Punkt SVN Commit / SVN Übertragen aus. Du erhältst nun ein Übersichtsfenster, in dem du alle Änderungen sehen und auswählen kannst. Zusätzlich kannst du natürlich auch einen Kommentar eingeben. (Und wie gesagt: Das solltest du.) Abbildung 7: Windows- commit -Fenster (englisch) Seite 11
4.7) Das Kommando Revert / rückgängig Mit diesem Befehl kannst du deine lokalen Änderungen rückgängig machen. Bitte beachte diesbezüglich, dass alle (deine) lokalen Änderungen dabei verloren gehen. Ebenso kannst du mit Revert / rückgängig auch Änderungen an den Eigenschaften einer Datei oder eines Verzeichnisses rückgängig machen. Gehe in das Untermenü TortoiseSVN und wähle den Punkt Revert / Rückgängig aus. Es öffnet sich dann ein Fenster, in dem du die entsprechenden Dateien auswählen kannst. Abbildung 8: Windows- revert -Fenster (englisch) Seite 12
5) Der Repository-Browser TortoiseSVN bringt ein Programm mit, mit dem es möglich ist, die Daten des SVN-Systems einfach zu durchstöbern, ohne sie vorher auf den lokalen PC heruntergeladen zu haben. Dieses Programm heißt: TortoiseSVN Repository Browser. Hiermit kannst du die für dich sichtbaren SVN-Verzeichnisse einsehen, einzelne Dateien herunterladen, den Checkout auf einem bestimmten Pfad initiieren oder dir die Historie von Dateien anzeigen lassen. Du kannst den Browser über einen Rechtsklick auf irgendeinen Ordner oder den Desktop starten. Im erscheinenden Kontextmenü wählst du TortoiseSVN und danach Repo-Browser / Projektarchiv. Alternativ kannst du auch im Startmenü nach TortoiseSVN Repository Browser suchen und diesen starten. Du wirst dann zur Eingabe eines Pfades aufgefordert. Dieser entspricht dem Checkout-Pfad, den du dir sich ansehen willst. Nun hast du über die Oberfläche die Möglichkeit, durch die Verzeichnisse zu navigieren oder per Rechtsklick Aktionen auf einzelne Dateien auszuführen. Ein Download ist ebenso per Drag-and-Drop (Klicken und Ziehen) möglich. Mit einem Doppelklick wird die Datei heruntergeladen und lokal (schreibgeschützt) geöffnet. Abbildung 9: Windows- Repo-Browser -Fenster (englisch) Seite 13
6) Fragen und Antworten Nach einem update sind Konflikte aufgetreten. Welche Optionen habe ich? Du hast die Wahl zwischen einer automatischen oder einer manuellen Behebung. Bei der automatischen kannst du entscheiden, welche Seite des Konflikts übernommen werden soll: Die vom Server oder deine lokale. Bei der manuellen Behebung öffnet sich ein Editor bzw. die Konsole, in der du dann sogar zeilenweise diese Entscheidung zwischen Server- und lokaler Version treffen kannst. Mein commit schlägt fehl. Da steht out of date. Was kann ich tun? Diese Meldung erhältst du, wenn deine lokale Revision nicht der Server-Revision entspricht. Die Meldung sieht dann meistens so aus: Abbildung 10: Windows- commit -Fehlermeldung Um diesen Fehler zu beheben, musst du ein Update durchführen. Danach kannst du deine Änderungen an den Server übertragen. Seite 14