Gitty
Kurzinfo
Gitty ist ein TUI zur vereinfachung der Versionskontrolle mit Git.Themenbereich
Softwareentwicklung
Lernende/r
Lian Studer
Lehrbetrieb
Hochschule Luzern
Betreuer
Urs Nussbaumer
Projekt-Website
https://github.com/lianstuder/gitty
Aufgabenstellung
Für die Versionskontrolle von Projekten gibt es viele verschiedene Tools und Programme, wie zum Beispiel Git oder Mercurial. Diese sind sowohl als GUI (Graphical User Interface = Graphische Benutzeroberfläche) sowie als CLI (Command Line Interface = Befehlszeilenanwendung) verfügbar. Das Ziel von Gitty ist es, die Übersichtlichkeit eines GUIs mit der simplizität von CLIs zu verbinden.
Ergebnisse
Aufgrund von Problemen wahrend dem Entwicklungsprozess, konnten einige grundlegende Features leider noch nicht implementiert werden. Folgende Funktionen sind in der aktuellen Version verfügbar: Git-Konsole, "git add", "git commit" und die Navigation mit der Tastatur.
Lösungskonzept
Der Mix aus GUI und CLI wird als TUI (Text User Interface) bezeichnet. Ich habe in C++ mit der Git-API und einer TUI Library ein TUI mit verschieden Bedienelementen gebaut. Die Interaktion mit diesen Bedienelementen gibt die entsprechenden Aktionen an die Git-API weiter.
Aufgetretene Probleme
Wo wurde Zeit verloren? Was konnte aufgrund welcher Schwierigkeiten nicht realisiert werden? --> Da ich zum ersten Mal C++ verwendet habe, hatte ich mehrere Probleme, wie zum Beispiel "segmentation faults", also Probleme mit Speicherzugriff oder auch mit dem OOP-Konzept von C++. Ich habe deswegen viel Zeit mit der Fehlerbehebung verbracht und konnte relativ wenig an den eigentlichen Funktionen meiner Software arbeiten. Gitty kann (Stand 8. Jan 2021) bietet nur die Funktionen von "git add" und "git commit", wobei andere Funktionen von Git über die eingebaute Git-Konsole verwendet werden können.
Ausblick
Gitty wird in Zukunft noch weiter an Funktionalität gewinnen und stetig erweitert werden, solange mir das Projekt noch spass macht. Ich konnte alle aufgetretenen Probleme selber lösen und werde auch in Zukunft versuchen, dieses Projekt selbstständig weiterzuentwickeln.