Skip to content

Git auf ein SVN Repository aufsetzen

Mittlerweile benutze ich GIT schon seit ca. 2 Wochen und werde immer sicherer mit dessen Mechanismen. GIT bietet einfach geniale Features, gerade bei der Zusammenarbeit z.B. in Open Source Projekten wie Serendipity. Das viel einfachere Branching und Rebasing auf dem online Branch klappt einfach wunderbar und löst sehr elegant einige Probleme, die man mit SVN und CVS bei der gemeinsamen Arbeit an einem Code hat.

Viele Open Source Projekte werden jedoch noch in einem SVN Repository gewartet. So programmiere ich mir gerade aus gegebenen Anlass einige Fixes in den Wordpress für Android Client, der als Open Source in einem SVN Repostitory verfügbar ist.

Inzwischen möchte ich aber auf die Vorzüge von GIT nicht mehr verzichten. Ich möchte einen eigenen Branch verwalten, den ich immer wieder auf die Änderungen in dem SVN Repository aufsetze (rebase), wodurch ich auf einfache Weise Änderungen beider Repositories immer in meinem Client Code habe.

Für diesen Anwendungsfall gibt es eine Erweiterung zu GIT: git svn. Diese Erweiterung baut lokal ein GIT Repository auf Grundlage eines SVN Repositories auf, mit allen Möglichkeiten, die man von GIT so kennt. Es wird ein git-svn Branch lokal angelegt, der mit SVN über git svn Befehle synchron gehalten werden kann. Auf diesen setzt ein lokaler master Branch auf, der mit rebase auf git-svn immer die neuesten Änderungen des SVN Repositories enthält und auf den wiederum eigene Feature Branches aufgesetzt und rebased werden können.

Wie das funktioniert, ist in diesem Artikel recht ausführlich beschrieben, ich fasse mal die für diesen Anwendungsfall wichtigen Schritte zusammen.

"Git auf ein SVN Repository aufsetzen" vollständig lesen

BloGTK: Offline Blog Editor für Ubuntu

Vor ziemlich genau 4 Jahren schrieb ich bereits darüber, wie man seine Serendipity Blog Artikel offline verwalten kann. Damals lief mein System noch auf Windows und ich benutzte den Windows Life Writer, der damals kostenlos zur Verfügung stand und ziemlich mächtig war.

Inzwischen bin ich schon lange auf Ubuntu, und da ich für die neue XML-RPC Schnittstelle sowieso weitere Testfälle benötigte, schaute ich mal nach einem Offline Editor für Ubuntu. Der einzig brauchbare scheint BloGTK zu sein. Leider wird dieser offenbar nur ziemlich schlecht gewartet (oder ist ziemlich schlecht in Ubuntu eingebunden), so dass man hier ein wenig Hand anlegen muss, um ihn zu installieren. In meinem Ubuntu Software Center ist er zu finden (in einer Version 1.x) und kann von dort auch installiert werden, wenn ich ihn jedoch aufrufe, so bekomme ich folgende Meldung:

$ blogtk
Traceback (most recent call last):
  File "/usr/bin/blogtk", line 14, in <module>
    import gtkhtml2
ImportError: No module named gtkhtml2

gtkhtml2 wird von Ubuntu nicht mehr unterstützt, ein Blick in Synapsis zeigt nur V3 Pakete. Den entscheidenden Hinweis fand ich bei Balau. Es gibt ein PPA Repository, in der eine Version 2.x von BloGTK verwaltet wird. Er beschreibt auch, wie man dieses Repository einbindet und BloGTK dann installiert.

Leider ist auch diese Anleitung veraltet, denn dieses Repository ist maximal für Lucid vorhanden, also muss man hier einen Zwischenschritt ausführen.

"BloGTK: Offline Blog Editor für Ubuntu" vollständig lesen

Projekt: Serendipity mobil benutzen - Der Client

Anfang des Monats schrieb ich über mein "Projekt: Serendipity mobil benutzen". Inzwischen bin ich schon ein gutes Stück weiter gekommen! Ich habe mit dem WordPress für Android Client bereits meine ersten Artikel geschrieben, editiert und gelöscht, sowie Kommentare gelöscht und moderiert. Klappt seit heute prima, sogar Geodaten werden übernommen, wenn das Geotag Plugin installiert ist.

Was erledigt ist

In dem letzten Artikel beschrieb ich, was noch zu tun sei:

  • Ausbau der XMLRPC Schnittstelle von S9Y um WordPress Erweiterungen: Ich habe noch nicht alle Schnittstellen implementiert, jedoch bereits alle, die der WP Android Client benutzt. Also die Schnittstellen, die sich mit den Einträgen und Kommentaren beschäftigen. Dabei habe ich auch noch einige Probleme in dem XML-RPC Plugin gefunden, die ich fixen konnte.
  • Kontakt mit den WP Android Leuten aufnehmen: Auch das ist erledigt. Ich befülle fleißig deren Tracking System mit Bugmeldungen und -fixes. ;-) Der Client, der aktuell im Market ist, kann bereits mit der von mir angepassten XML-RPC Schnittstelle umgehen.
  • Erweiterung von sinnvollen Plugins um mobile Eigenschaften: Das GeoTag Plugin habe ich heute erweitert, so dass es sich in die XML-RPC Schnittstelle einhängen kann. Dadurch werden die Geodaten aus dem WP Client in das Blog gespeichert. Die erneuert Version ging heute nach Spartacus und sollte also wohl morgen verfügbar sein.
    Das oEmbed Plugin habe ich vor allem im Hinblick auf eine einfachere mobile Nutzung geschrieben. Im mobilen Client kann man einfach keine Youtube Objekte einbinden. Man kann aber sehr wohl die URL einer Youtube Webseite in den WP Client sharen und dort einfach mit der oEmbed Notation einfassen. Schon probiert, klappt prima und simpel! :-)
    Über weitere Plugins kann man sicher nachdenken, aber zusammen mit dem Microblogging Plugin ist das alles schon recht rund.
"Projekt: Serendipity mobil benutzen - Der Client" vollständig lesen
tweetbackcheck