Fehlersuche mit “git bisect”

In größeren Projekten arbeiten meist mehrere Entwickler an einem Git-Repository. Und wie es bei der Software-Entwicklung nun einmal ist kommt es ab und an zu Fehlern. Bei einer komplexen Versionshistorie ist es allerdings schwierig den Ursprungscommit eines Fehlers zu finden. An dieser Stelle hilft das Git-Kommando bisect weiter. Zum Start muss Git mitgeteilt werden welcher der letzte (aus Sicht des Entwicklers) korrekt funktionierende und der erste fehlerhafte Commit ist. Dies geschieht im Terminal auf dem Repository mittels:

git bisect start
git bisect good <hash>
git bisect bad <hash>

Danach checkt bisect einen Commit aus. Dieser Commit muss nun auf den gesuchten Fehler überprüft werden. Ist der Fehler weiterhin vorhanden, so teilen wir dies Git mittels:

git bisect bad

mit. Ist der Fehler nicht mehr vorhanden, so teilen wir Git dies ebenfalls mit:

git bisect good

Dieser Prozess wird dabei so lange durchlaufen bis Git uns am Ende des Prozesses mitteilt, in welchem Commit der Fehler seinen Ursprung hat. Danach können wir uns den Commit notieren und bisect mittels:

git bisect reset

mitteilen das der Prozess zu einem Ergebnis geführt hat. Dadurch wird das Repository in seinen Ursprungszustand versetzt.

Festplattennutzung unter Mac OS X visualisieren

Festplatten, egal welcher Größe haben eine unangenehme Eigenschaft. Irgendwann sind sie voll und man fragt sie wo der ganze Platz hin ist. Um sich das ganze übersichtlich anzuschauen gibt es für Windows “WinDirStat“, für Linux “KDirStat” und für Mac OS X gibt es “GrandPerspective” welches unter http://grandperspectiv.sourceforge.net/ zu finden ist.

Eine GrandPerspective Analyse

Eine GrandPerspective Analyse

Nach dem Start von “GrandPerspective” wählt man einen Ordner aus und bekommt anschließend eine Analyse aus welcher sich optisch erschließt welches die größten Brocken auf der Festplatte sind. Die Software wird aktiv weiter entwickelt und steht dabei unter der GPL. Es existieren auch lokalisierte Versionen, allerdings werde diese augenscheinlich nicht mehr gepflegt, so das man mit der englischen Version Vorlieb nehmen sollte.

Weitere Informationen gibt es unter:
http://en.wikipedia.org/wiki/GrandPerspective
http://de.wikipedia.org/wiki/WinDirStat
http://de.wikipedia.org/wiki/KDirStat