Skip to content
 

RhodeCode – Source Code Management with mercurial

Für Programmier-Projekte verwende ich schon seit längerer Zeit Mercurial um den Code zu verwalten. Die Repositories wurden jeweils auf meinem eigenen Server gehostet, denn die meisten Anbieter haben Einschränkungen, welche mir nicht gefallen hatten. Z.B. nur eine begrenzte Anzahl closed-source-Projekte pro Account (ausser man bezahlt dafür) oder aber die Server liefen nicht stabil.
Allerdings hatte das selber gehostete System gewisse Nachteile. So war es zwar möglich über das Web-Interface neue Projekte zu erstellen, die Berechtigungen waren aber in der Webserver-Konfiguration “hard coded”. Das heisst via .htaccess mussten neue User hinzugefügt werden und wenn ein User nur auf ein Repository Zugriff haben sollte wurde das ziemlich mühsam. Vor kurzem habe ich nun RhodeCode entdeckt. RhodeCode ist eine WebApp welche mir genau diese Arbeit abnimmt. Es stellt Mercurial-Repositories (und wahlweise auch GIT) zur Verfügung. Die Repositories können per Webinterface konfiguriert werden, Benutzer können erstellt und zugewiesen werden. Es gibt Gruppen und Rollen. Alles was man braucht.
Das Ganze wurde in Python geschrieben und läuft somit Plattformunabhängig. Lediglich unter Windows (wie könnte es anders sein ;)) muss man ein bisschen basteln. Da eines der benötigten Python-Pakete einen Compiler benötigt muss entweder VisualStudio oder “Mingw32″ installiert sein. Mingw32 ist mehr oder weniger eine GCC-Portierung für Windows.
Im Falle von VisualStudio funktioniert die Installation auf anhib. Bei Mingw32 muss Python entsprechend konfiguriert werden:
Python verfügt über “Distutils” welche benutzt werden um entsprechende Pakete zu kompilieren. Um Mingw32 zu verwenden muss die entpsrechende Konfiguration umgestellt werden. Die Datei befindet sich unter PFAD_ZU_PYTHON\Lib\distutils\distutils.cfg (Falls diese Datei nicht existiert, muss eine leere Datei mit diesem Namen erstellt werden.)
Dieser Datei fügt man folgenden Teil an:
[build]
compiler = mingw32

Die eigentliche Installation führt man am Besten gemäss Anleitung aus.

RhodeCode ist auf “Pylons” aufgebaut und kommt mit einem eigenen Webserver daher. Um diesen unter Windows als Dienst zu starten empfiehlt sich WSGISVC. Wenn man mehrere Webserver auf dem selben Server am laufen hat, kommt man dann allerdings kaum darum herum einen Proxy zu verwenden.

2 Comments

  1. Hallo,

    mein Name ist Sebastian Kreutzberger und ich bin CEO bei RhodeCode. Erstmal danke für Deine Vorstellung von RhodeCode auf Deiner Seite!

    Es stimmt, die Installation von RhodeCode auf einem eigenen Server ist komplex, daher haben wir einen neuen Hosted RhodeCode Service entwickelt, er ist aktuell in Private Beta, zu dem ich Dich gerne einladen möchte.

    Bitte schau auf https://rhodecode.com – dort kannst Du Dich für die Teilnahme an der Private Beta registrieren. Die Beta-Teilnahme ist kostenlos und auch danach wird es ein sehr, sehr preisgünstiger Service sein. Wir versuchen mit diesem Service die Verbreitung von RhodeCode zu erhöhen, vor allem bei Nutzern mit weniger Servererfahrung oder ohne eigenen Server, welche aber dennoch in den Genuss eines Open Source Produktes zum SCM kommen möchten.

    Falls Fragen sind, kannst Du mich auch gerne direkt kontaktieren oder einfach per Twitter @rhodecode anschreiben.

    Sebastian

  2. [...] für Programmierer leistet, die mit dem einen oder andren Kontrollsystem arbeiten, wird im eSheep’s Blog gut beschrieben: “Für Programmier-Projekte verwende ich schon seit längerer Zeit Mercurial [...]

Leave a Reply