|| {{http://mc.mikrocontroller.com/images/eng.gif}} Seite in [[en/MikroKopterRepository|english]] || [[http://subversion.tigris.org|{{attachment:subversion_logo.gif}}]] <
> siehe auch: <> = Subversion Repository = Die Quellen der FlightCtrl und BL-Ctrl sind jeweils in einem [[Subversion]]-Projektarchiv (Repository) hinterlegt. Um die Quellen bearbeiten zu können, muss man sich einen Subversion-Client (siehe unten) installieren. Dann kann man die Quellen 'auschecken' (abrufen). Man kann aber auch mit dem Browser durch das Projektarchiv blättern: . http://svn.mikrokopter.de <
> Wer möchte kann sich dort auch Änderungen als RSS-Feed abonnieren. Wer z.B. den /tags/-Ordner abonniert, bekommt immer mit, wenn es eine neue Version gibt... == URL für den SVN-Client == /!\ '''ACHTUNG: ab 09.2014 neue URL !''' <
> vorher http://mikrokopter.de/mikrosvn/... <
> jetzt http://svn.mikrokopter.de/mikrosvn/... <
> <
> '''!FlightCtrl:''' . http://svn.mikrokopter.de/mikrosvn/FlightCtrl/ <
> '''BL-Ctrl:''' . http://svn.mikrokopter.de/mikrosvn/BL-Ctrl/ <
> '''MK3Mag:''' . http://svn.mikrokopter.de/mikrosvn/MK3Mag/ <
> '''Projekte:''' . http://svn.mikrokopter.de/mikrosvn/Projects/ <
> '''!NaviCtrl:''' . http://svn.mikrokopter.de/mikrosvn/NaviCtrl/ '''Der Login erfolgt mit dem Benutzernamen und Passwort aus dem Forum!''' == Verzeichnisstruktur == * ''/tags/'': . freigegebene Versionen (z.B. /tags/V0.60/) * ''/branches/'': . Test- und Sonderversionen, hier sind auch die eigenen Versionen zu finden * ''/trunk/'': . nicht öffentlich und für die Entwickler reserviert, daraus entstehen dann die offiziellen Versionen == Einige Begriffe == * Checkout bzw. Ausschecken: . damit ist das Herunterladen von Dateien aus dem Projektarchiv auf die lokale Festplatte gemeint. * Commit bzw. Übertragen: . ist das Zurücksichern der lokalen Arbeitskopie in das Projektarchiv = Login = /!\ Sollte ein Username und Passwort abgefragt werden, gibt man die Daten aus dem '''Forumlogin''' ein. Das heißt, man muss im Forum registriert sein, um Daten lesen oder schreiben zu können. = Windows Client: TortoiseSVN = {{attachment:tortoisesvn_logo.gif}} TortoiseSVN ist ein einfach zu verwendender Subversion Client für Windows. Er erweitert das Kontextmenü des Windows-Explorer mit den notwendigen Befehlen des Versionskontroll-Systems: {{attachment:subversion_kontext1.gif}} == Installation == * TortoiseSVN-Homepage: http://subversion.tigris.org . Download-Seite: http://tortoisesvn.net/downloads . Übersicht Sprachpakete: http://tortoisesvn.net/translator_credits . deutsches Sprachpaket Download: http://downloads.sourceforge.net/tortoisesvn/LanguagePack_1.6.2.16344-win32-de.msi?download Man installiert zuerst TortoiseSVN und dann gleich hinterher das deutsche Spachpaket. Danach ist meist ein Neustart von Windows erforderlich. === Sprache auf 'Deutsch' umstellen === Im Windows-Explorer irgendwo die rechte Maustaste drücken und im Kontextmenü ''TortoiseSVN'' und dann ''Settings'' auswählen. Im folgenden Dialog dann auf deutsche Sprache umschalten und bestätigen: {{attachment:subversion_sprache.gif}} Das war es schon :) == Dateien ausschecken == Wie bekomme ich jetzt die Daten aus dem Projektarchiv auf meinen Rechner? Dazu legt man sich zuerst ein '''leeres Verzeichnis''' auf seiner Festplatte an, welches die lokale Arbeitskopie aufnehmen soll: . z.B. C:\SVN\!FlightCtrl Dann muss man sich entscheiden, welche Daten man eigentlich haben möchte. Das kann z.B. ein bestimmter Versionsstand (/tags/) oder eine User-Version ((/branches/) sein. === Dateien lokalisieren === Wir gehen mal beispielhaft davon aus, dass wir die eine freigegebene Version (/tags/) der FlightCtrl-Software haben möchten. Wir blättern durch das FlightCtrl-Projekt: http://svn.mikrokopter.de/mikrosvn/FlightCtrl/ Im Verzeichnis /tags/ befinden sich die unterschiedlichen Versionen. Wir sehen dort z.B. die V0.60. Die Adresse lautet also: http://svn.mikrokopter.de/mikrosvn/FlightCtrl/tags/V0.60/ === Dateien übertragen === Um die Daten zu erhalten, klicken wir mit der rechten Maustaste im Windows-Explorer auf unseren neu angelegten Ordner 'FlightCtrl'): {{attachment:subversion_checkout.gif}} Es erscheint ein Dialog, wo wir unsere gefundene URL eintragen und dann OK klicken: {{attachment:subversion_checkout2.gif}} Daraufhin werden die Dateien der V0.60 in das lokale Verzeichnis kopiert. . FERTIG :) == Dateien ins Projektarchive übertragen == Es ist nur den Entwicklern möglich, Daten ins ''/trunk/'' und ''/tags/'' Verzeichnis des Projektarchivs zu übertragen. Jeder kann aber Daten ins /branches/ - Verzeichnis übertragen und so dort seine Arbeit sichern und mit anderen teilen. Änderungen oder Verbesserungen können auch als Patches an die Entwickler geschickt werden. == Eigene Version anlegen == Als Beispiel: * Wir wollen die FlightCtrl-Software weiterentwickeln (z.B. anderer Kompass) * Basis soll die letzte veröffentliche Version sein Als erstes übertragt man sich die Version, die man als Basis verwenden möchte, auf sein System (wie zuvor beschrieben). Dann erstellt man eine Verzweigung (branch). Man klickt mit der rechten Taste auf das erstellte, lokale Verzeichnis, in dem sich jetzt die aktuelle Version befindet. In unserem Beispiel also auf C:\SVN\!FlightCtrl. Dann wählt man aus dem Kontextmenü ''TortoiseSVN'' und dann ''Verzweigen / Markieren'': {{attachment:subversion_branch1.gif}} Dann trägt unter ''zu URL'' den Namen der neuen Verzweigung ein. Es ist gut, ein paar Infos im Namen unterzubringen (Version, was ist besonderes, Ersteller). Das Ganze muss unter ''/branches/'' angelegt werden, also z.B. : . http://svn.mikrokopter.de/mikrosvn/FlightCtrl/branches/V0.60_Kompass_Name/ Als Ursprung wählt man am besten ''Arbeitskopie''. Dann fügt man noch ein paar Infos über diese Verzweigung hin (siehe Screenshot). Und zum Schluss macht man noch einen Hacken bei ''Die Arbeitskopie zum neuen Zweig wechseln'', damit diese auch gleich die aktiv ist. Hier mal ein Screenshot: {{attachment:subversion_branch2.gif}} Im Folgenden werden Benutzername und Passwort abgefragt. Siehe hierzu [[http://mikrokopter.de/ucwiki/MikroKopterRepository#head-c052bea01527e0c33a7b7afe3bed04b409891997|Login]]. Das war es - jetzt hat man ein eigenes Verzeichnis und kann seine Änderungen am Code vornehmen. == Seine Daten ins Projektarchiv übertragen == Wenn man Änderungen gemacht hat, kann man diese jederzeit ins Archiv übertragen (commit). Einfach mit der rechten Taste (im Explorer) auf seinen Verzeichnisnamen und ''SVN übertragen'' wählen. Es erscheint ein Dialog, wo man ein paar erläuternde Worte hinterlassen kann und eine Liste von Dateien, die bearbeitet wurden: {{attachment:subversion_commit.gif}} FERTIG. = SVN unter Linux = Unter Linux ist das ganze etwas einfacher. SVN wird meist über die Shell oder auch Komandozeile bedient. Bevor man anfängt, sollte man sich auf seinem Rechner ein Verzeichnis einrichten. Der erste Schritt ist das Herunterladen des SVN-Repositories. Dies geschieht einfach mit dem Befehl '''{{{svn co http://svn.mikrokopter.de/mikrosvn/FlightCtrl/ .}}}''' '''co''' steht für checkout. Dasselbe wird auch mit dem BL-Ctrl-Zweig gemacht. Dieses sollte in einem anderen Pfad liegen. Beim Checkout wird der gesamte Sourcecode heruntergeladen. {{attachment:fligh_ctrl.jpg}} Um seinen eigen Code auf den SVN-Server zu übertragen, muss dem lokalen '''{{{svn}}}''' mitgeteilt werden, welche Dateien neu hinzugefügt wurden. Bereits vorhandene und bearbeitete Dateien werden automatisch in das Repository eingepflegt. Das Hinzufügen von Dateien macht der Befehl '''{{{svn add Pfad/zur/datei}}}'''. Demgegenüber gibt es '''{{{svn del}}}'''. Mit '''{{{svn st}}}''' kann man den momentanen Status sehen, welche Dateien beim Nächsten einchecken wie behandelt werden. Der Befehl dafür ist '''{{{svn ci}}}'''. Erst jetzt werden sämtliche Änderungen in das Repository eingepflegt. '''{{{svn up }}}'''bringt den lokalen Source-Code-Zweig auf den aktuellsten stand. {{attachment:add.jpg}} Im Folgenden wird eine Textdatei geöffnet, in der man Kommentare zur seinen Änderungen eintragen kann. Es ist empfehlenswert dies immer zu tun. == GUI Clients für Linux == * rapidsvn * kdesvn * esvn = SVN auf dem Mac = Auf dem Mac geht SVN im Prinzip genau so wie unter Linux. (Kann aber sein , dass man zuerst die Entwicklungstools installieren muss). == Dateien ausschecken == Terminal öffnen und irgendwo ein neues Verzeichnis für die SVN Working-Copy anlegen, z.B: einfach im Home-Verzeichnis mit '''{{{mkdir MK-SVN}}}''' In dieses Verzeichnis wechseln mit '''{{{cd MK-SVN}}}''' Die Sourcen der FlightCtrl auschecken mit '''{{{svn co http://svn.mikrokopter.de/mikrosvn/FlightCtrl}}}''' Analog Auschecken für BL-Ctrl, MK3Mag, NaviCtrl und Projects '''{{{svn co http://svn.mikrokopter.de/mikrosvn/BL-Ctrl}}}'''<
> '''{{{svn co http://svn.mikrokopter.de/mikrosvn/NaviCtrl}}}'''<
> '''{{{svn co http://svn.mikrokopter.de/mikrosvn/MK3Mag}}}'''<
> '''{{{svn co http://svn.mikrokopter.de/mikrosvn/Projects}}}''' == Dateien aktualisieren == '''{{{cd MK-SVN}}}'''<
> '''{{{svn up BL-Ctrl}}}'''<
> '''{{{svn up FlightCtrl}}}'''<
> '''{{{svn up MK3Mag}}}'''<
> '''{{{svn up NaviCtrl}}}'''<
> '''{{{svn up Projects}}}''' == GUI Clients für Mac OS X == Hier gibt es eine Menge Auswahl: * [[http://www.versionsapp.com/|Versions]] * [[http://www.syntevo.com/smartsvn/index.html|SmartSVN]] * [[http://macsvn.sourceforge.net/|MacSVN]] * [[http://www.lachoseinteractive.net/en/community/subversion/svnx/features/|svnX]] * [[http://scplugin.tigris.org/|scPlugin]] (SVN Plugin für den Finder) * Xcode bietet auch eine SVN-Unterstützung = Subversion Anleitungen = Es gibt im Netz eine Menge Informationen und Anleitung zum Umfang mit Subversion und TortoiseSVN . (Google hilft ;-) ) Hier mal ein paar Links: * Anleitung zu TortoiseSVN (deutsch) . http://tortoisesvn.net/docs/release/TortoiseSVN_de/ * Anleitung zu Subversion (englisch) . http://svnbook.red-bean.com = Source Code übersetzen & bauen = Sobald der Code ausgecheckt ist, kann man hier erfahren, wie er übersetzt wird: * [[http://www.mikrokopter.de/ucwiki/Softwareentwicklung|Softwareentwicklung]] <
> ---- . KategorieAnleitung