Branching and merging: an investigation into current version control practices

  • Authors:
  • Shaun Phillips;Jonathan Sillito;Rob Walker

  • Affiliations:
  • University of Calgary, Calgary, AB, Canada;University of Calgary, Calgary, AB, Canada;University of Calgary, Calgary, AB, Canada

  • Venue:
  • Proceedings of the 4th International Workshop on Cooperative and Human Aspects of Software Engineering
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

The use of version control has become ubiquitous in software development projects. Version control systems facilitate parallel development and maintenance through branching, the creation of isolated codelines. Merging is a consequence of branching and is the process of integrating codelines. However, there are unanswered questions about the use of version control to support parallel development; in particular, how are branching and merging used in practice? What defines a successful branching and merging strategy? As a first step towards answering these questions, we recruited a diverse sample of 140 version control users to participate in an online survey. In this paper, we present the survey results and 4 key observations about branching and merging practices in software development projects.