Fryboyter

Heptapod - Gitlab mit Unterstützung von Mercurial

Bei Heptapod handelt es sich um eine Plattform zur Versionsverwaltung ähnlich Github. Im Gegensatz zu Github basiert diese allerdings auf Gitlab und unterstützt dank der Entwickler auch Mercurial. Vor ein paar Jahren hatte ich bereits in einem Artikel, bei dem es um die Einstellung der Unterstützung von Mercurial bei Bitbucket ging, schon einmal auf Heptapod hingewiesen. Damals war die Plattform allerdings noch neu und unfertig.

Da ich vor ein paar Tagen mir ein Git-Repository zerschossen habe (Layer-8-Problem) und mich die Lösung viel Zeit und Nerven gekostet hat, habe ich mich mal wieder im Bereich der Versionsverwaltung Mercurial umgesehen. Heptapod gibt es immer noch und inzwischen ist es auch öffentlich nutzbar. Neben heptapod.host was hauptsächlich für Unternehmen gedacht ist, gibt es auch noch das kostenlose Angebot https://foss.heptapod.net/public das sich an FOSS-Projekt wendet.

Wer selbst hosten will, findet alle nötigen Informationen unter https://heptapod.net/pages/get-heptapod.html#get-heptapod.

Intern werde ich vermutlich wieder auf Mercurial wechseln. Git ist mir zu mächtig und zu kompliziert. Zudem finde ich die Dokumentation von Mercurial deutlich besser.

Aufgrund der weiten Verbreitung werde ich aber auch weiterhin Github nutzen, da es hierfür inzwischen funktionierende Lösungen gibt. Aber das ist ein Thema für einen weiteren Artikel.

OSBN | Allgemein

Versionsverwaltung mit Fossil

Bisher habe für meine privaten Projekte immer vermieten eine Versionsverwaltung zu verwenden. Da ich Ende des Monats mein Ansible-Projekt umsetzen werde und ein weiteres größeres Projekt geplant ist ist es wohl Zeit für solch ein Tool.

Die meisten werden vermutlich keinen Gedanken daran verschwenden und den Platzhirsch git nutzen. Ich kann mich mit git aber nicht anfreunden. Und vom Funktionsumfang werde ich vermutlich nur einen Bruchteil benötigen. Also mache ich, was ich ganz gut kann. Mir alternative Programme ansehen.

Da ich in einer Kathedrale und nicht auf einem Basar entwicklen werde, habe ich mich spontan für Fossil entschieden. Dieses Tool wird zum Beispiel für die Entwicklung von SQLite verwendet. Zudem sind die Entwickler von SQLite zufällig auch die Entwickler von Fossil. Warum das so ist, kann man unter https://sqlite.org/whynotgit.html nachlesen.

Auch wenn die Bedienung von Fossil Ähnlichkeiten mit der von git aufweist, finde ich Fossil angenehmer zu bedienen.

fossil init ansible #Repository "ansible" erstellen
nfossil open ansible #Repository "ansible" öffnen
fossil add install.yml #Datei "install.yml" zum Repository hinzufügen
fossil commit #Änderung bestätigen
fossil close ansible #Repository "ansible" schließen

Fossil bietet natürlich noch weitere Möglichkeiten. Genaueres kann man in der Dokumentation nachlesen. Aber Moment… Warum wird bei obigen Beispiel das Repository geöffnet und geschlossen. An dem Punkt kommen wir zur Besonderheit von Fossil. Ein Repository wird hier in eine SQLite-Datenbank gepackt. Somit wird mit “open” die Verbindung aufgebaut und mit “close” geschlossen. Auf den ersten Blick mit sqlitebrowser macht der Datenbankaufbau keinen schlechten Eindruck.

Abschließend möchte ich noch anmerken, dass Fossil auch über einen grafische Oberfläche verfügt, über die unter anderem eine Timeline der Änderungen, ein Forum und ein Wiki angeboten werden. Im Grunde wie bei Github. Wie das genau aussieht kann man sich auf der offiziellen Seite von Fossil ansehen. Diese läuft mit besagter Oberfläche. Lokal lässt sich diese mit “fossil ui ansible” starten, so dass man das ganze auch einzelner Entwickler intern nutzen kann.

OSBN | Allgemein