Geek Zone

Multi Repository Version Control

Introducing GitExplorer (Stargit)

Multi repository source code project navigation with status overview and version control. To the left we visualize a dash board of repositories and sub-repositories, as seen stored locally on disk. To the right we can focus on a particular repository which offers a 3D visualisation of the commit history and standard git functionality.

The GitExplorer software is used to manage large volumes of source code modules, game developments and animation productions. At GameFusion all source code, productions and client deliveries are securly monitored, controlled and stored in 'git' repositories. A big issue is the massive proliferation and management of large repositories. The size of individual repositories varies from a few kilobytes to tens of gigabytes, structured loosely on disk in a hierarchy of repositories and sub-repositories. A sub-repository tree approach is used in favor of referenced git sub-modules for greater flexibility.

The Git Explorer is a multi-platform native C++ application available on Windows, Linux and MacOS. The user interface is based on Qt, git functionality is powered by the open source libgit2, security uses openSSL and the project uses the GameFusion-3D-GameEngine for asset pre-visualisation.

The software is used internally at GameFusion for all developments and client projects. We are considering offering a release candidate preview in the near future. Selected features have been integrated into the 3D LevelEditor for a transparent cloud collaboration experience (WIP).

Other desktop version control software we like and have considered are GitHub and GitKraken. The problem we have found is that these are not adapted to our workflow or fail to perform on a big data hierarchical/approach. Finally, embedding GitExplorer functionality in the form of a library in our 3D software offers an integrated collaborative experience akin to what you can find in Microsoft Visual Studio, Unity and the UnrealEngine Editor.