Christoph's last Weblog entries

Entries tagged "vcs".

OHLOH
17th April 2009

Um Unknown Horizons weiter zu verbreiten habe ich jetzt ein ohloh.net Projekt angelegt und gleich noch einen Account für mich angelegt.

Ohloh lobt dann auch gleich das Projekt für ein aktives, großes Entwicklerteam und gute Dokumentation, kann also gar nicht so schlecht sein.

Ganz überrascht bin ich auch, wie weit ich es mit meinen bisherigen Projekten bereits geschafft habe ... Ohloh profile for Christoph Egger

TODO: Einträge über NM und Debconf

Tags: debian, foss, programmieren, spaceshooter, unknown-horizons, vcs, web.
Nocheinmal TopGIT
31st January 2009

Nachdem ich bereits über TopGIT geschrieben habe wurde diese Seite ziel einiger Google-Suchen nach dem String 'topgit'.

Da dieses Thema scheinbar eine Menge Menschen interessiert und mein Weblog unter dem Top Hits in Google erscheint habe ich dann beschlossen mein Mini-Review aus dem Debian Games Team hierher zu übernehmen. Alle Angaben beruhen auf meinen Vermutungen und erheben weder den Anspruch komplett noch richtig zu sein.

Das Original war in Englisch verfasst daher gibt es hier jetzt eine Übersetzte und überarbeitete Version davon. Wer die Debian Spezifischen Teile lesen will sei auf das Original verwiesen.

Das erste Mini-Review entstand, da ich TopGIT beim Paketieren von XWelltris ausprobiert habe und dann von einigen Menschen im Debian Games Team darum gebeten wurde.

XWelltris selbst ist kein besonders komplexes Paket und hat in Debian aktuell nur 2 Patches die mit TopGIT verwendet werden sollten. Das mitlerweile ebenfalls umgestellte SFML ist da um einiges komplexer.

Wozu wird TopGIT dabei eingesetzt? TopGIT generell kann verwendet werden um verschiedene Modifikationen zu einem Originalen Source-Tree zu verwalten und dabei den vollen Funktionsumfang zur Verfügung zu haben. Dabei übernimmt die TopGIT Branch in etwa die Rolle eines traditionellen Patches wobei TopGIT in der Lage ist, abhängigkeiten zwischen den Patches darzustellen.

Funktionsweise

Während für git selbst die TopGIT Branches wie normale Branches aussehen «weiß» TopGIT für welche Branches es verantwortlich ist. Diese Branches kann TopGIT dann auch z.B. in eine QUILT Patchserie exportieren

Die Reihenfolge der Patches in der QUILT Serie wird dabei durch die in jeder TopGIT Branch vorhandenen .topdeps Datei festgelegt, während der Kommentar für den Patch aus der Datei .topmsg stammt. Damit es keine Probleme gibt sollte die in .topdeps angegebene Branch in die jeweilige aktive Branch gemerged sein, da der Patch aus einem diff zwischen der aktiven Branch und der in .topdeps angegebenen Branch entsteht.

Eine neue TopGIT Branch wird mit dem Befehl tg create $NAME erstellt. Als Grundlage für die neue TopGIT Branch dient dabei die gerade aktive Branch.

Wird in der Master Branch -- und natürlich jeder anderen Branch, von der tg Branches abhängen -- eine Änderung vollzogen, so werden in tg summary alle veralteten Branches mit einem 'D' markiert. Dies ist der Aufruf in dieser Branch ein tg update auszuführen, das die Branch dann auf den neuesten Stand bringt.

tg create erstellt die TopGIT Informationen nur lokal. Andere Benutzer des Git Repos werden nur «seltsame» Branches feststellen ohne weitere Verwendungsmöglichkeiten. Daher sollte möglichst Zeitig ein tg remote $ORIGIN aufgerufen werden, sodass der online Git Repos die TopGIT Branches ordentlich verfolgt.

Fazit

TopGIT ist der alternative von z.B. QUILT+Patches weit überlegen. Allein die Möglichkeit Patches direkt zu modifizieren ohne jedes Mal an quilt add denken zu müssen ist einiges Wert. Dazu kommt die Tatsache, dass TopGIT die Entwicklung der Patches verfolgen lässt.

Ganz besonders praktisch ist, dass der Wechsel von z.B. QUILT+Patches keine unidirektionale Aktion ist sondern sich problemlos wieder umkehren lässt, da TopGIT eine Patch Serie exportiert die dann ohne TopGIT verwendet werden kann.

Tags: debian, programmieren, vcs.
Website Deployment
29th November 2008

Der normale Weg, neue Änderungen einer Website auf den Production-Server zu übertragen führt wohl über (S)FTP oder SCP. Jedenfalls war das bei mir bis vor kurzem so.

Mit der Zeit habe ich dann angefangen, meine Arbeiten am Website Code per Versionsverwaltung zu dokumentieren. Und als dann plötzlich eine Website nicht nur von mir erstellt wurde gibg das Repos natürlich auf den Server. Da lag es dann natürlich nahe, die Serverversion einfach zu «hg clone»n.

Tja, das hat sich irgendwie verselbstständigt und eine der ersten Aktionen bei einem neuen Webprojekt ist ein HG Repos auf dem Server. Und ich muss sagen, das Ergebniss ist sehr angenehm. Geändertes wird automatisch übertragen, gleiches nicht ohne dass man sich darum kümmert

Tags: hier, programmieren, vcs, web.
topgit
24th November 2008

Nachdem auf der Team-ML der Debian Games Gruppe, in der ich zufällig mitarbeite, die Verwendung von topgit für alle git-verwalteten Pakete vorgeschlagen wurde um quilt-patches zu erzeugen habe ich mich spontan entschlossen mein Paket «xwelltris» zu konvertieren.

Quilt wird bei Debian Paketen dazu verwendet, Änderungen am Quellcode der Originalprogramme zu separieren, allerdings gestalltet sich die alleinige Verwendung in zusammenarbeit mit GIT etwas mühsam

Mit TOPgit kann man dann allerdings Änderungen direkt in einer git-branch erstellen und muss nicht mit patches und einem weiteren Level an (pseudo)Versionskontrolle -- quilt -- arbeiten. TOPGit erstellt dann aus diesem branches automatisch die entsprechende Patch-Serie.

Auch wenn ich gleich bei den ersten Versuchen das Setup erfolgreich lahmgelegt hatte werde ich wohl im laufe der nächsten Zeit auch meine anderen pakete auf diese Weise der Arbeit convertieren!

Tags: debian, programmieren, vcs.

RSS Feed

Created by Chronicle v4.6