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.
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.
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.
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.