Unterschiede zwischen den Revisionen 8 und 49 (über 41 Versionen hinweg)
Revision 8 vom 18.08.2007 10:44
Größe: 3753
Autor: IngoBusker
Kommentar:
Revision 49 vom 13.10.2014 17:33
Größe: 10719
Autor: IngoBusker
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 1: Zeile 1:
[[ImageLink(subversion_logo.gif, http://subversion.tigris.org)]]
[[BR]]
siehe auch:
[[TableOfContents]]
||<tablewidth="200px" tablestyle="TEXT-ALIGN: center"bgcolor="#ffffa0"> {{http://mikrocontroller.cco-ev.de/images/eng.gif}} Seite in [[en/MikroKopterRepository|english]] ||

[[http://subversion.tigris.org|{{attachment:subversion_logo.gif}}]] <<BR>> siehe auch: <<TableOfContents>>
Zeile 7: Zeile 6:

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'.
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).
Zeile 14: Zeile 12:
[[BR]] '''!FlightCtrl - Projektarchiv:'''

 . http://mikrocontroller.cco-ev.de/mikrosvn/FlightCtrl/
[[BR]] '''BL-Ctrl - Projektarchiv:'''

 . http://mikrocontroller.cco-ev.de/mikrosvn/BL-Ctrl/
 . http://svn.mikrokopter.de
<<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 ==

/!\ ACHTUNG: ab 09.2014 neue URL !
<<BR>> vorher http://mikrokopter.de/mikrosvn/...
<<BR>> jetzt http://svn.mikrokopter.de/mikrosvn/...


<<BR>> '''!FlightCtrl:'''

 . http://svn.mikrokopter.de/mikrosvn/FlightCtrl/

<<BR>> '''BL-Ctrl:'''

 . http://svn.mikrokopter.de/mikrosvn/BL-Ctrl/

<<BR>> '''MK3Mag:'''

 . http://svn.mikrokopter.de/mikrosvn/MK3Mag/
<<BR>> '''Projekte:'''

 . http://svn.mikrokopter.de/mikrosvn/Projects/
<<BR>> '''!NaviCtrl:'''

 . http://svn.mikrokopter.de/mikrosvn/NaviCtrl/
'''Der Login erfolgt mit dem Benutzernamen und Passwort aus dem Forum!'''
Zeile 21: Zeile 42:
 * ''/trunk/'':
 . die aktuelle Codeversion an der gearbeitet wird (nicht unbedingt lauffähig!)
Zeile 26: Zeile 45:
 . Test- und Sonderversionen
 . 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
Zeile 29: Zeile 49:
 * !CheckOut bzw. SVN Ausschecken:  * Checkout bzw. Ausschecken:
Zeile 31: Zeile 51:
 * !CheckIn bzw. SVN Übertragen:  * Commit bzw. Übertragen:
Zeile 33: Zeile 53:

. /!\ ToDo: ergänzen
= 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.
Zeile 37: Zeile 57:
attachment:tortoisesvn_logo.gif {{attachment:tortoisesvn_logo.gif}}
Zeile 43: Zeile 63:
attachment:subversion_kontext1.gif {{attachment:subversion_kontext1.gif}}
Zeile 47: Zeile 67:
  . Download-Seite: http://tortoisesvn.net/downloads 
  . Übersicht Sprachpakete: http://tortoisesvn.net/translator_credits 
  . 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
Zeile 51: Zeile 71:
 . Das war es schon :)
=== 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 :)
Zeile 54: Zeile 80:
Wie bekomme ich jetzt die Daten aus dem Projektarchiv auf meinen Rechner ?? Wie bekomme ich jetzt die Daten aus dem Projektarchiv auf meinen Rechner?
Zeile 57: Zeile 83:
.  (z.B. C:\SVN\!FlightCtrl)

Dann muss man sich entscheiden, welche Daten man eigentlich haben möchte. Das kann z.B. die aktuelle Codeversion (/trunk) oder vielleicht ein bestimmter (lauffähiger !) Versionsstand.

 
. 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.
Zeile 63: Zeile 90:
Zeile 66: Zeile 92:
Wir blättern durch das FlightCtrl-Projekt: http://mikrocontroller.cco-ev.de/mikrosvn/FlightCtrl/ Wir blättern durch das FlightCtrl-Projekt: http://svn.mikrokopter.de/mikrosvn/FlightCtrl/
Zeile 69: Zeile 95:
Die Adresse lautet also: http://mikrocontroller.cco-ev.de/mikrosvn/FlightCtrl/tags/V0.60/
Die Adresse lautet also: http://svn.mikrokopter.de/mikrosvn/FlightCtrl/tags/V0.60/
Zeile 74: Zeile 101:
attachment:subversion_checkout.gif {{attachment:subversion_checkout.gif}}
Zeile 78: Zeile 105:
attachment:subversion_checkout2.gif {{attachment:subversion_checkout2.gif}}
Zeile 81: Zeile 108:
Zeile 82: Zeile 110:
Zeile 84: Zeile 111:
Zur Zeit ist es nur den Entwicklern möglich, Daten in Projektarchiv zu übertragen.

Änderungen oder Verbesserungen können als Patches an die Entwickler geschickt werden.
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}}}'''<<BR>>
'''{{{svn co http://svn.mikrokopter.de/mikrosvn/NaviCtrl}}}'''<<BR>>
'''{{{svn co http://svn.mikrokopter.de/mikrosvn/MK3Mag}}}'''<<BR>>
'''{{{svn co http://svn.mikrokopter.de/mikrosvn/Projects}}}'''

== Dateien aktualisieren ==

'''{{{cd MK-SVN}}}'''<<BR>>
'''{{{svn up BL-Ctrl}}}'''<<BR>>
'''{{{svn up FlightCtrl}}}'''<<BR>>
'''{{{svn up MK3Mag}}}'''<<BR>>
'''{{{svn up NaviCtrl}}}'''<<BR>>
'''{{{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
Zeile 89: Zeile 222:
Es gibt im Netz eine Menge Informationen und Anleitung zum Umfang mit Subversion und TortoiseSVN . (Google hilft ;) ) Es gibt im Netz eine Menge Informationen und Anleitung zum Umfang mit Subversion und TortoiseSVN . (Google hilft ;-) )
Zeile 92: Zeile 225:
 * Anleitung zu TortoiseSVN
* Anleitung zu TortoiseSVN (deutsch)
Zeile 94: Zeile 228:
...





[[BR]]
 * 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]]

<<BR>>

http://mikrocontroller.cco-ev.de/images/eng.gif Seite in english

http://subversion.tigris.org
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:


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:


BL-Ctrl:


MK3Mag:


Projekte:


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

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:

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:

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'):

subversion_checkout.gif

Es erscheint ein Dialog, wo wir unsere gefundene URL eintragen und dann OK klicken:

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:

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:

subversion_branch2.gif

Im Folgenden werden Benutzername und Passwort abgefragt. Siehe hierzu 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:

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.

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.

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:

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: