Software Version Control

These notes describe how source repositories are used to manage source code in a FOSS development project.

Forges: Integrated Software Hosting Sites

There are several web sites that provide hosting for FOSS development projects. These sites bring together a variety of tools used in a distributed software development project, including:

  • Social networking tools
  • Communication tools
  • Bug tracking tools
  • Documentation tools
  • Code management -- i.e., version control -- tools

Take a tour of these two examples:

Version Control Systems

There are many different version control systems now available, all of which do the same thing: support the collaborative software development effort by managing the different versions of the software and allowing individual contributors to merge their contributions with others.

In general, version control supports the following operations:

  • Manages multiple revisions of same code base.
  • Allows multiple concurrent developers.
  • Manages locking, synchronization, and concurrency.
  • Manages versioning history and project forking.

Here are some examples to explore: