Differences between revisions 39 and 40
Revision 39 as of 16.01.2010 22:06
Size: 10524
Editor: tempolo
Comment: Link zur Software hinzu
Revision 40 as of 16.01.2010 22:07
Size: 10525
Editor: tempolo
Comment: Listenansicht korigiert
Deletions are marked like this. Additions are marked like this.
Line 226: Line 226:
* [http://www.mikrokopter.de/ucwiki/FlightCtrl#head-0e4320bf6fdab42fe051d0bb8f5f88484ee84c19 FlightCtrl Software]  * [http://www.mikrokopter.de/ucwiki/FlightCtrl#head-0e4320bf6fdab42fe051d0bb8f5f88484ee84c19 FlightCtrl Software]

http://mikrocontroller.cco-ev.de/images/eng.gif Seite in [:en/MikroKopterRepository:english]

ImageLink(subversion_logo.gif, http://subversion.tigris.org) BR siehe auch: TableOfContents

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'.

Man kann aber auch mit dem Browser durch das Projektarchiv blättern:

BR 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

BR FlightCtrl:

BR BL-Ctrl:

BR MK3Mag:

BR Projekte:

BR 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

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://mikrocontroller.cco-ev.de/mikrosvn/FlightCtrl/

Im Verzeichnis /tags/ befinden sich die unterschiedlichen Versionen. Wir sehen dort z.B. die V0.60.

Die Adresse lautet also: http://mikrocontroller.cco-ev.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. :

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://mikrocontroller.cco-ev.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://mikrocontroller.cco-ev.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

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://mikrokopter.de/mikrosvn/FlightCtrl

Analog Auschecken für BL-Ctrl, MK3Mag, NaviCtrl und Projects

svn co http://mikrokopter.de/mikrosvn/BL-CtrlBR svn co http://mikrokopter.de/mikrosvn/NaviCtrlBR svn co http://mikrokopter.de/mikrosvn/MK3MagBR svn co http://mikrokopter.de/mikrosvn/Projects

Dateien aktualisieren

cd MK-SVNBR svn up BL-CtrlBR svn up FlightCtrlBR svn up MK3MagBR svn up NaviCtrlBR svn up Projects

GUI Clients für Mac OS X

Hier gibt es eine Menge Auswahl:

Subversion Anleitungen

Es gibt im Netz eine Menge Informationen und Anleitung zum Umfang mit Subversion und TortoiseSVN . (Google hilft ;-) )

Hier mal ein paar Links:

Source Code übersetzen & bauen

Sobald der Code ausgecheckt ist, kann man hier erfahren, wie er übersetzt wird:

BR