SourceTree: Pros & Cons


SourceTree ist ein git (und Mercurial) Client für Windows und Mac. Okay, das war jetzt einfach von der Website abgelesen. Was steckt dahinter? Wenn wir git zur Versionierung unserer PHP-Projekte einsetzen, dann liefert es uns lediglich eine Konsolenanwedung mit, über die wir es steuern können.

Hier wäre dann auch schon die erste Front des Glaubenskriegs eröffnet: Ist eine puritanische Konsole nicht genau das, was wir wollen? Nun ja, zumindest nicht jeder träumt nachts von Kommandozeilen-Befehlen. SourceTree bietet daher nun eine Oberfläche, über die sich gelebte Versionsverwaltung in erster Linie per Mauseinsatz durchführen lässt.

Wer sich solch teuflischer Verführung grundsätzlich widersetzt, für den ist die Entscheidung offenbar schon gefallen und SourceTree keine Alternative. Für alle anderen soll dieser Artikel einige Argumente für oder gegen dieses Tool nennen. Wobei, letzten Endes geht es hier dann vor allem um persönliche Erfahrungswerte.

Keine Konsolen-Kommandos...



Offensichtlich befreit uns SourceTree von der Notwendigkeit, eine ganze Reihe von Konsolenkommandos lernen zu müssen. Für vergessliche Menschen natürlich äußerst vorteilhaft. Also ein klares Pro-Argument?

Nun ja, auf der anderen Seite sind die Bezeichnungen der nun per Menüs oder Buttons auszulösenden Kommandos auch nicht immer ohne Gedächtniseinsatz zu verstehen: Verwendet man SourceTree mit Deutsch als Interfacesprache, wird zum Glück so mancher Titel nicht übersetzt. Es heißt dann immer noch "Commit", "Checkout", "Pull" und "Push". Andere Bezeichnungen werden aber sehr wohl übersetzt. Ob "Markierungen" jedem sofort als "Tags" geläufig sind? Für den ein oder anderen kann es daher praktisch sein, die Interfacesprache auf Englisch zu belassen - dies ist die Standardeinstellung.

Dennoch, der Verzicht auf die Konsole hat seine Vorteile. Push mit SourceTree-Flavour bedeutet nun Mal nur ein paar Klicks. Jedes Rätseln (und Googeln) über die Syntax von Konsolenkommandos entfällt. Sehr angenehm, wenn man sich im Auswendiglernen solcher Kommandos eher schwer tut.

...aber viele Aktionsmöglichkeiten



SourceTree befreit niemanden von der Notwendigkeit, zu wissen, was man tut. Einmal erlernte Abläufe kann man sich womöglich einfacher merken, weil man eben nicht nur auf die Tastatur einhackt, sondern auch eine visuelle Komponente existiert, und man Abläufe mit Positionen von Buttons und Dialogen verbindet. Aber diese Abläufe und deren Hintergründe müssen dennoch erst erlernt werden. Wenn man nicht weiß, was ein Commit ist, dann ist SourceTree keine Heilung.

Das kann letztlich zu Trial-and-Error führen, sprich blindem Ausprobieren, oder eben doch wieder der Befragung von Google. Zum Beispiel, was genau bedeutet denn nun "Blame für ausgewählte"? SourceTree selber hilft da nicht weiter.

Das die Usebility nicht perfekt ist, soll an dieser Stelle auch erwähnt werden: Warum beispielsweise zeigt mir das Kontextmenü einer geänderten Datei den Eintrag "Konflikte beheben" an, wenn es gar keine Konflikte gibt? Das ist nicht schlimm, aber ungeübte Nutzer mit nicht verfügbaren Kommandos abzulenken, kann auch nicht vorteilhaft sein.

Mehr Übersicht



Für mich persönlich ist ein großer Vorteil gegenüber der Konsole die Übersichtlichkeit. Das Hantieren mit einer Vielzahl geänderter (oder neuer oder gelöschter) Dateien wird dank der "grafischen" Darstellung angenehmer. Außerdem zeigt SourceTree viele Informationen gleichzeitig an. Das sieht vielleicht zunächst unübersichtlich aus, hat man sich aber erst daran gewöhnt, lernt man den Vorteil zu schätzen. So hat man die lokal verfügbaren Repositorien und Branches stets im Blick, sieht die geänderten Dateien ebenso wie die vorgemerkten, und gleichzeitig die Änderungen der markierten Datei(en).

Features, Features, Features



Ich gebe es zu, ich bin kein git-Power-User. Daher bietet git weit mehr Features, als ich nutze. Für SourceTree gilt das ebenso. Ich kann zwar nicht sagen, wie viele der git-Fähigkeiten abgebildet werden, nehme aber an, dass es ein bedeutender Teil ist. Ich habe jedenfalls die Grenzen von SourceTree bisher nicht ausgelotet. Und sollte es doch irgendwann dazu kommen, gibt es da ja noch diesen Button "Eingabeaufforderung", der direkt zur git-Konsole führt.

Die Performance



Die Performance ist eine mögliche Achillesferse dieses Tools. Es ist mitunter wirklich sehr langsam. Viele Aktionen fühlen sich nicht mehr nur träge, sondern deutlich zu langsam an. Hinzu kommt, dass ich persönlich seit jeher mit Abstürzen und Bugs zu kämpfen habe, die alles andere als spaßig sind. Natürlich ist das nicht repräsentativ. Dennoch gehe ich davon aus, dass diese Probleme grundlegender Natur sind.

Im Alltag stören sowohl die lansgame Reaktionsgeschwindigkeit als auch die Stabilitätsprobleme mitunter sehr. Gefühlt wird viel zu viel Zeit mit Warten verbracht. Oder mit einem Neustart des Tools, wenn es mal wieder hängt. Oder mit Aufräumarbeiten, wenn irgendwo zwishen Pull und Push wieder was in der Pipeline hängen geblieben ist. Vor allem für Einsteiger haben einige der Macken des Tools das Potenzial zur Überforderung: Wenn zum Beispiel laut Anzeige Änderungen bereit zum Pushen sind, das dann aber ohne nachvollziehbaren Grund fehlschlägt. SourceTree erhält regelmäßige Updates. Insofern besteht Grund zur Hoffnung. Andererseits bestehen diese Probleme nicht erst seit gestern. Es wäre wünschenswert, wenn Atlassian hier verstärkt an Lösungen arbeiten würde.

Fazit



Ein Fazit im Sinne von "Gutes SourceTree, böses SourceTree" soll es an dieser Stelle gar nicht geben. Wer sich auf Konsolebene wohl fühlt wird dort auch bleiben wollen. SourceTree richtet sich damit schon sehr an Einsteiger in Sachen git. Das heißt aber nicht, das Profis deshalb einen Bogen machen müssten. Der Featureumfang ist enorm und der Rettungsanker git-Konsole nur einen Klick entfernt.

Eine klare Empfehlung für SourceTree fällt aber schwer. Perfekt ist es eindeutig nicht. Das legt nahe, auch andere git-GUIs eines Blickes zu würdigen. Insbesondere die Akte Performance & Bugs darf nicht übergangen werden. Wer schon eine große, minified CSS-Datei in die Änderungsansicht geladen hat und eine gefühlte Ewigkeit darauf warten musste, dass es endlich weiter geht, wird das bestätigen können. Hier besteht dringender Nachbesserungsbedarf.

comments powered by Disqus

© 2014-2015 Christoph Konnertz.