FlightGear Git
The FlightGear project has changed its distributed version control system from CVS to Git due to a hardware failure on the CVS servers (see the "Motivation" section).
Windows users may want to check out tortoisegit which provides a convenient graphical user interface on top of the features provided by Git, and works for both 32 bit and 64 bit Windows: http://code.google.com/p/tortoisegit/downloads/list
Mac OS X users may want to take a look at GIT (CVS) - Version install of FlightGear on OSX which is work in progress as of 05/2010.
Quick Start
The Git repositories are located at http://gitorious.org/fg. To check out the maintenance branch of SimGear:
git clone git://gitorious.org/fg/simgear.git cd simgear git checkout -b maint origin/maint
Repeat for FlightGear:
git clone git://gitorious.org/fg/flightgear.git cd flightgear git checkout -b maint origin/maint
The base package is available at http://gitorious.org/fg/fgdata
git clone git://gitorious.org/fg/fgdata
Motivation
Much has been written on the advantages of Git over CVS. For us, some advantages are:
- Much better support for branches and merging branches. This is especially important for creating bug-fix releases for major releases while still allowing work on the next major release to continue. It is also very nice for a developer's personal workflow.
- Easier path for contributors to submit changes and developers to integrate them;
- Much better support for everyday tasks like searching the project history for changes, viewing changes, bisecting the project history to find the original source of a bug.
Also, the CVS servers had a hardware failure on May 2010, leading to FlightGear's change from CVS to Git.
FlightGear and Git
For historical reasons there continue to be separate repositories for Simgear and Flightgear. There are 3 interesting branches in the repositories. Listed in order from least stable to most:
- next The current tip of new development. This branch should always compile and run, but various things could be broken.
- master The tip of stable, tested new features. If we were to make a new release today, we would start from the tip of this branch. New features that have been "cooking" in the next branch for a few days or weeks will be merged here.
- maint Bug fixes for the most recently released Flightgear. When a release is made from master, this branch is reset to it.