Master Thesis

Summary

Real-time Conflict Awareness for Distributed Version Control Systems
Master Thesis, November 2014 — April 2015
Author: Fabian Gremper
Supervisor: Martin Nordio and Christian Estler
Project plan here
See report here

Description

In this day and age, most computer programs are written by a team of more than one person. In order to handle concurrent editing of source code, we require smart mechanisms and systems to deal with the changes of individual users.

Conventional version control provides a means to collaborate on writing programs, even different subtasks, and merge the changes later. Merging changes can however produce conflicts. To avoid big conflicts, we want to implement a real-time awareness system to inform programmers at the time of writing if another programmer is currently editing parts of the code that may be conflicting with what they are about to do.!

For a previous master thesis [2], a proprietary version control system was used to alert the user of possible conflicts within the CloudStudio IDE. This thesis focuses on creating real-time awareness functionality for existing Git repositories, which significantly decreases the entry barrier for new users and allows existing Git projects to make use of this functionality.!

Also, because programmers like to use their own personal development environment, we want to provide a service API that may be e.g. used in combination with plugins for IDEs or other development tools.