Subversion

Aus LaborWiki
Wechseln zu: Navigation, Suche

Subversion ist ein Quellcode (Versions-) Verwaltungs System -- nicht unähnlich CVS. Wenn dir das Konzept von Versionsverwaltungs-Systen unbekannt ist, solltes du dir zunächst den Artikel zu Versionskontrollsystemen bei Wikipedia durchlesen.

Übersicht

Neben dem Subversion Server, der von den meissten Labor Projekten benutzt wird betreiben wir auch noch einen Bazaar Server.

Beispiel

$ svn co https://www.das-labor.org/svn/microcontroller

[... Am Quelltext rumarbeiten ...]

$ svn commit -m "README erweitert"


Commit Access

Subversion Schreiboperationen finden ebenfall über die HTTPS und die o.g. URL statt. Alles was ihr braucht ist ein gültiger Subversion account. Die entsprechende Datei ist /var/svn/htpasswd.labor, und man benutzt das Programm htpasswd um neue User anzulegen oder passworte zu ändern:

sudo htpasswd -s /var/svn/htpasswd.labor <username>


Das können natürlich nur lokale Labor Mitglieder, die einen Account auf roulette haben. Alle anderen melden sich mal bitte via mail an info@das-labor.org .

Umzug

Wer seine alte working copy weiterhin verwenden möchte kann mit svn switch seine working copy auf die neue URL umstellen.

svn switch --relocate [alte URL] [neue URL]

z.B.

svn switch --relocate https://roulette.das-labor.org/svn/microcontroller/src-atmel/playground https://www.das-labor.org/svn/microcontroller/src-atmel/playground

SVN-Struktur

Die Struktur des SVNs ist über Jahre gewachsen und einfach schwer nachzuvollziehen für Leute, die damit nicht vertraut sind. So lässt sich z.B. die Firmware für die Borgs nur bauen, wenn man das komplette Verzeichnis "microcontroller" auschecked, weil Borg-Projekte zahlreiche andere Dinge benötigen, die quer verstreut im SVN liegen.

Ein weiteres Problem der aktuellen Struktur stellt die in vielen Fällen selbst aufgezwungene Trennung zwischen host-software und firmware dar: In src-atmel finden sich Zahlreiche Projekte, deren Host-Software in einem Unterverzeichnis des jew. Projektes liegt.

Nicht ganz so gravierend, aber dennoch störend ist die redundate Konfiguration, die oft getätigt werden muss: So muss z.B. jedes Mal das Makefile angepasst werden, wenn man ein Projekt nachbaut. Wünschenswert wäre eine zetrale Makefile, in der man z.B. seinen Programmer einstellt. Diese Makefile würde dann einfach von den Projektmakefiles includiert.

Auf der Diskussionsseite dieser Wiki-Seite können und sollten nun Vorschläge zur Verbesserung der Situation niedergeschrieben werden. Das SVN sollte über kurz oder lang umstrukturiert werden.

Probleme mit Spam

Die Tickets im Trac wurden von Spammern missbraucht. Sollte wieder so etwas auftauchen, lässt sich das entsprechende Ticket mit folgendem Befehl löschen:

 trac-admin <tracdir> ticket remove <ID>

Das Erstellen und Verändern von Tickets und Trac-Wiki-Seiten ist nur noch nach erfolgreichem Login möglich. Wir haben diese Maßnahme ergriffen um Attacken von Spammern in Zukunft zu verhindern. Solltest du ein Anliegen haben oder einen Account benötigen wende dich einfach über einen der in Kontakt beschriebenen Wege an uns.