Visualizing commit propagation in the Git super-repository of Linux

Date

2016-12-08

Authors

Thakur, Gaurav Singh

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

A distributed version control system (DVCS) such as Git allows software developers to collaboratively contribute to a project without being on the same network. Every developer can work on their individual contributions within their private repository, only accessible to them. They can then collaborate and merge their work with the work of other developers via public repositories. During the project development life-cycle, many public repositories may collaborate with one another. The collection of all the repositories in a project is referred to as the “super-repository” of the Project. However, only some of this work actually reaches the main or “blessed” repository of the project which is used to release the final product/application. Visualizing how commits reach the blessed repository by propagating through the superrepository of a project can give us some insights on software evolution and development practices. By developing a web application, this project helps in visualizing how every merge reached the blessed repository of the Linux project in 2012. This visualization is in the form of a merge-tree and two major challenges had to be overcome to visualize this tree: avoiding intersections and overlapping between different repository branches; visualizing the commits that were superimposed over one another. It was observed that the project followed a hierarchical development practice and some integration repositories could be clearly seen from the visualizations

Description

Keywords

Visualize, commit, Git, Linux, blessed, super, repository, Github, merge, tree

Citation