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.

!!! Umzug nach Git !!![Bearbeiten | Quelltext bearbeiten]

Alle SVN Repositories werden nach Github umgezogen. Für das alte Labor SVN und das LaborLib SVN gibt es jetzt zwei entsprechende Git Repositories, die nebeneinander ausgescheckt werden müssen:

$ git clone https://github.com/das-labor/legacy.git
$ git clone https://github.com/das-labor/legacy-lib.git

Symbolic Links ersetzen hier die alten SVN Externals. Für einzelne Projekte gibt es dedizierte Repositories, wie z.B. borgware-2d.

Übersicht[Bearbeiten | Quelltext bearbeiten]

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

Beispiel[Bearbeiten | Quelltext bearbeiten]

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

[... Am Quelltext rumarbeiten ...]

$ svn commit -m "README erweitert"


Commit Access[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

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.