GitUp – freier Git-Client für Mac OS X

Für Mac OS X gibt es einige freie Git-Clients. Das Problem an den meisten dieser Clients ist das sie nicht mehr weiterentwickelt werden. Ein ziemlich aktueller und aktiv weiterentwickelter Client ist GitUp. Der Client beherscht dabei die nötige Grundfunktionalität, kann aber auch mit Spezialitäten wie Submodulen umgehen. Besonders hervorzuheben ist Map-Ansicht, in welcher man durch den Graph der Commits und Branches navigieren kann.

GitUp in der Map-Ansicht

GitUp in der Map-Ansicht

Lizenziert ist GitUp unter der GPL3 und damit freie Software – der Quelltext ist auf GitHub zu finden. Bezogen werden kann GitUp über die offizielle Projektseite unter gitup.co.

Submodule unter Git nutzen

Manchmal möchte man Git-Repository in einer bestimmten Art strukturieren. So will man unter Umständen mehrere Repositories logisch zu einem Repository gesellen. Dafür gibt es unter Git Submodule. Gegeben sei folgende Repositorystruktur:

Framework
Library1
Library2
Library3

Möchte man die Bibliotheken Library1, Library2 und Library3 logisch in das Repository Framework einbinden, kann man die Submodule nutzen. Dazu geht man in das Repository Framework und fügt die andere Repositories als Submodule hinzu:

git submodule add :Library1
git submodule add :Library2
git submodule add :Library3

Damit wird im Repository Framework eine Datei mit dem Namen .gitmodules angelegt, in welcher folgender Inhalt zu finden ist:

[submodule "Library1"]
	path = Library1
	url = :Library1

[submodule "Library2"]
	path = Library2
	url = :Library2

[submodule "Library3"]
	path = Library3
	url = :Library3

Diese Datei kann dann per Commit dem Repository hinzugefügt werden. Beim klonen eines solchen Repositories, muss man nur darauf achten das es rekursiv geklont und gepullt (git submodule foreach git pull) wird, damit die Submodule ebenfalls aktualisiert werden.

Kommentierte ROMs des C64er

Der Commodore 64 verfügte über ein ROM, in welchem das BASIC und der KERNAL gespeichert wurden. Michael Steil digitalisierte das komplette dokumentierte ROM des C64er aus dem Buch Das neue Commodore-64-intern-Buch und stellt sie neben einigen anderen in einem Git-Repository auf GitHub zur Verfügung.

Das kommentierte ROM in der HTML Version

Das kommentierte ROM in der HTML Version

Neben der Version aus dem Git-Repository gibt es das ganze auch als HTML-Seite auf pagetable.com. Dort sind die deutsche Version und auch der originale Quelltext von Microsoft, sowie englische ROM-Kommentare zu finden.

Geforktes Git-Repository vom Original aktualisieren

Auf Plattformen wie GitHub ist es ganz einfach bestehende Projekte zu forken, sie bei sich weiterzuentwickeln und die Änderungen an das Original-Projekt zurückzugeben. Ein klein wenig komplizierter ist es das geforkte Git-Repository wieder vom Original aus zu aktualisieren. Im ersten Schritt muss dabei im geforkten Repository ein Upstream definiert werden. Dies geschieht im Terminal mit dem Befehl (in diesem Falle auf GitHub bezogen):

git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git

Mittels des Befehls git remote -v kann anschließend überprüft werden ob der Eintrag vorgenommen wurde. Nun können die Änderungen vom Remote upstream in das lokale Git-Repository mittels:

git pull upstream master

übernommen werden. Anschließend kann man das ganze noch mittels git push auf den entfernten Server übertragen.

Skript für schlechte Netzwerkverbindungen

Der Titel dieses Artikels, könnte den Leser glauben lassen, das es in diesem Artikel um ein Skript geht, welches irgendwelche Vorteile bei schlechten Netzwerkverbindungen bringt. Allerdings ist das Gegenteil der Fall. Bei dem in Go geschriebenen Tool mit dem Namen Comcast handelt es sich um ein Skript zur Simulation eines schlechten Netzwerkes.

Comcast auf GitHub

Comcast auf GitHub

Comcast soll dabei helfen Anwendungen zu testen, welche Netzwerkfunktionalitäten nutzen. So kann man überprüfen das die Anwendungen auch unter schlechten Bedingungen funktionieren (und falls dies nicht der Fall ist nacharbeiten). Das Skript läuft unter Linux, Mac OS X sowie BSD-Systemen. Der Quelltext der unter der Apache-Lizenz stehenden Software ist auf GitHub zu finden.