Wednesday, January 31, 2007

Online Doku nochmal

Wie gestern schon angekündigt, ist die banane Online Dokumentation mittlerweile unter einer schöneren URL erreichbar, nämlich
http://banane.berlios.de/
Schaut doch mal vorbei.

Tuesday, January 30, 2007

Online-Dokumentation beta

Die Beta-Version der Banane Online-Doku liegt

hier

zum schonmal kurz reinschauen. Ist alles noch häßlich und unfertig, aber es funktioniert schon ein bißchen. Demnächst gibt es dann auch ne ordentliche URL und nen Einleitungstext oder sowas...

Friday, January 26, 2007

Ihr wollt selbst Banane-Entwickler werden?

Kein Problem! Zunächst müßt Ihr Euch bei berliOS anmelden, um einen Zugang zu deren SVN-Server zu bekommen. Dort befindet sich das Banane-Repository. Anmelden geht schnell und die wollen dort auch nur Euren Namen und EMail.

Wenn Ihr diese Hürde genommen habt, dann sagt mir doch bitte Euren tollen neuen berliOS Login Namen. Dann kann ich Euch als Entwickler zum Banane-Projekt hinzunehmen. Wenn auch das soweit erledigt ist, dürft Ihr auch ein normales checkout durchführen. Das funktioniert ganz genauso wie das anonyme, bloß ist die URL des repository eine andere, nämlich:
https://svn.berlios.de/svnroot/repos/banane/trunk
Man beachte das https.

Das Verzeichnis, das Eure alte anonyme Arbeitskopie enthielt, könnt Ihr löschen oder umbenennen, so daß die neue voll funktionsfähige Arbeitskopie wieder wie früher in
C:\eigenes\matlab\verzeichnis\Banane
erzeugt werden kann.

Sieht erstmal alles so aus wie vorher. Wenn Ihr jetzt aber eine der Routinen verändert und diese Veränderung den anderen Banane-Nutzern zur Verfügung stellen wollt, dann gibt es dazu den Befehl
SVN Commit...
Wieder wie gewohnt im Kontextmenü zu finden, wenn Ihr auf das Icon der Routine klickt, die Ihr modifiziert habt. Ihr werdet dann aufgefordert, eine log message zu schreiben. Diese sollte knapp die Modifikation beschreiben, die Ihr vorgenommen habt. Vielleicht nicht zu knapp, also nicht nur "bug fix", aber mehr als zwei Zeilen sind wohl auch nicht nötig. Anschließend werden Euer berliOS Login Name und Paßwort von Euch verlangt, damit sichergestellt ist, daß Ihr zur Änderung des repository berechtigt seid. Nach dem commit wird Eure Änderung in den Arbeitskopien der anderen Nutzer sichtbar, sobald diese ein update durchführen.

Fall Ihr nun eine ganz neue Routine geschrieben habt, von der Ihr glaubt, sie solle auch Teil der Banane-Sammlung werden, dann gibt es dazu den Befehl
SVN Add.
Auch dieser ist im Kontextmenü zu finden, wenn Ihr auf die neue Routine zeigt und die rechte Maustaste drückt. SVN Add bereitet allerdings die Aufnahme der neuen Routine nur vor, endgültig wird diese wiederum erst nach einem SVN Commit. Nicht nur einzelne Routinen, sondern auch die Verzeichnisse, in denen sie sich befinden, sind der Kontrolle von SVN unterworfen und müssen entsprechend ins repository übernommen werden, wenn Ihr ein neues Verzeichnis erstellen wollt.

Das wäre soweit erst einmal alles, was Ihr für die tägliche Arbeit mit SVN wissen müßt (hoffentlich hab ich nichts vergessen). Zum Nachlesen gibt es ein ganzes Buch über SVN, und die tortoiseSVN-FAQ enthalten auch noch einige Informationen.

Demnächst sollte dann auch eine erste brauchbare Version der Online-Dokumentation verfügbar sein. Ich melde mich wieder, wenn es soweit ist.

Update

Willkommen zum zweiten Teil der Banane-SVN-Anleitung!

Wenn Ihr gestern Eure Arbeitskopie ausgecheckt habt, dann könnte es ja sein, daß inzwischen ein anderer Entwickler an den Banane-Routinen gearbeitet hat und seine Änderungen ins repository übernommen wurden. Um Eure Arbeitskopie nun wieder mit dem repository abzugleichen, müßt Ihr nicht neu auschecken, dafür gibt es den Befehl
SVN Update.
Ein update funktioniert auch, wenn die Arbeitskopie anonym ausgecheckt wurde. Bei tortoiseSVN wird der Update-Befehl wieder aus dem Kontextmenü ausgewählt, das beim Drücken der rechten Maustaste erscheint. Ihr könnt die gesamte Arbeitskopie aktualisieren, indem Ihr beim Mausrechtsklicken auf Euer Banane-Verzeichnis zeigt. Man kann aber auch einzelne Unterverzeichnisse oder einzelne Dateien separat aktualisieren, indem man diese anklickt. Ist die Arbeitskopie aktuell, so wird das Verzeichnisicon mit einem grünen Haken markiert. Unterscheiden sich Eure Arbeitskopie und das repository, erscheint ein kleines rotes Ausrufezeichen im jeweiligen Icon.

Habt Ihr selbst an Eurer Kopie Änderungen vorgenommen, so werden diese nicht vom update überschrieben. (Zumindest ist das in der Linux-Version so, Windows hab ich gar nicht ausprobiert, möglicherweise erscheint eine Meldung über den Konflikt.). Wenn Ihr per update Eure Änderungen rückgängig machen wollt, so ist die einfachste Variante, Euer geändertes File zu löschen. Ein nachfolgendes update erzeugt es dann neu in der Version, wie es im Repository vorliegt.

Thursday, January 25, 2007

Mein erstes Banane-Checkout

Hier ist die versprochene Kurzanleitung für den Umgang mit tortoiseSVN, dem Programm, das unter Windows zur Verwaltung Eurer lokalen Arbeitskopie verwendet werden kann. Ich gehe davon aus, daß die meisten von Euch Windows benutzen. Unter Linux verwende ich die Kommandozeile. Dazu kann ich bei Bedarf auch was sagen oder schreiben.

Erstmal müßt Ihr es natürlich installieren. Den Link zum Runterladen findet Ihr hier. Ich hab es jetzt unter WindowsXP getestet. Zum Installieren benutzt es so ein merkwürdiges MSI-Format, das auf älteren Rechnern evtl. nicht vorliegt. Kann man nachinstallieren, erfordert aber eine Authentifizierung der eigenen Windows-Installation uswusw...

Wenn Ihr tortoise installiert habt, baut es sich in den Explorer ein, es gibt also kein separates Programm, das Ihr starten müßt. Vielmehr werden alle Befehle über das Kontext-Menü gegeben, das erscheint, wenn Ihr die rechte Maustaste drückt.

Also begebt Ihr Euch jetzt in ein Verzeichnis Eures persönlichen MATLAB-Pfades, in dem nachher das oberste Banane-Verzeichnis erzeugt werden soll. Dort dann die rechte Maustaste drücken. Im Menü den Punkt
SVN Checkout...
wählen. Checkout heißt der Vorgang, sich aus dem zentralen Projektverzeichnis, dem repository, eine eigene lokale Arbeitskopie zu erzeugen. In der Dialogbox, die nun erscheint, teilt Ihr tortoise mit, welches Projekt es auschecken soll und wo die lokale Kopie erzeugt werden soll.

Für einen Probelauf genügt ein sogenanntes anonymes checkout, bei dem Ihr die Banane-Routinen zwar herunterladen und verändern könnt, aber Eure Änderungen können nicht ins repository übernommen werden. Tragt also folgendes in die entsprechenden Felder der Box ein:
URL of repository
svn://svn.berlios.de/banane/trunk
und
Checkout directory:
C:\eigenes\matlab\verzeichnis\Banane
Alle weiteren Einstellungen sind ok so, wie sie sind. Die HEAD Revision bezeichnet den aktuellen Zustand des repositorys, also den, den Ihr zunächst einmal herunterladen wollt. Nach dem OK wird das Verzeichnis Banane und einige Unterverzeichnisse erzeugt und darin die Banane-Routinen abgelegt. Diese könnt Ihr wie Eure eigenen benutzen und abändern. Es sind noch nicht sehr viele, und ein Teil davon im Documentation-Verzeichnis dient zum Erzeugen der Online-Hilfe. Aber es gibt auf jeden Fall schon ein Beipiel für den Header, der zu Beginn jeder Routine eingefügt werden und Informationen über diese Routine beinhalten sollte. Siehe:
.../Banane/Documentation/header_template.m
Außerdem die schon mehrfach erwähnte Routine loadNEV zum Einlesen der Multielektrodendaten. Siehe dazu:
.../Banane/NEVTools/loadNEV.m
Sooo, das genügt ja auch erstmal für den Anfang. Falls Ihr Zeit habt, probiert es doch mal aus. Bin für Rückmeldungen dankbar. Morgen schreib ich den zweiten Teil. Darin dann mehr SVN-Befehle und die Anleitung für ein unanonymes checkout.