FlightGear Git: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
(→‎Repositories and branches: Switched to the repository specific templates of Category:Repository link templates rather than using {{repo link}} directly.)
(Spelling fix; remove Downloading fgdata using bittorrent (it belongs on the FlightGear Git: data developers page and it's outdated))
Line 1: Line 1:
{{Git}}
{{Git}}
'''Git''' is a version control system, used by the [[FlightGear]] project to store all of the files required to build and run FlightGear. This includes all the programs, the data (e.g. textures, sounds), supporting tools, etc. Git tracks updates to every file, as developers from around the world work together concurrently to create new versions.  The sole exception is the official [[FGAddon]] aircraft repository that is Subverion rather than git based.
'''Git''' is a version control system, used by the [[FlightGear]] project to store all of the files required to build and run FlightGear. This includes all the programs, the data (e.g. textures, sounds), supporting tools, etc. Git tracks updates to every file, as developers from around the world work together concurrently to create new versions.  The sole exception is the official [[FGAddon]] aircraft repository that is Subversion rather than git based.


While new FlightGear features and additions are in development, they are available from Git before they are available in the standard release version. Using Git allows users to use the newest possible version of FlightGear from the latest source files, to experiment with new aircraft or other features. However, it is not a beginner's tool. Using Git can expose the user to unstable features that show ugly error messages, or crash the computer.  
While new FlightGear features and additions are in development, they are available from Git before they are available in the standard release version. Using Git allows users to use the newest possible version of FlightGear from the latest source files, to experiment with new aircraft or other features. However, it is not a beginner's tool. Using Git can expose the user to unstable features that show ugly error messages, or crash the computer.  


As of March 2015, the Git repositories are located at [http://sourceforge.net/p/flightgear SourceForge] and a mirror is hosted at the [http://mapserver.flightgear.org/git/?p=fgdata;a=summary Mapserver].
As of March 2015, the Git repositories are located at [http://sourceforge.net/p/flightgear SourceForge] and a mirror is hosted at the [http://mapserver.flightgear.org/git/?p=fgdata;a=summary Mapserver].
'''Please click one of the links in the menu on the right'''


== Motivation ==
== Motivation ==
Line 34: Line 32:
== Related content ==
== Related content ==
* [[FlightGear Git: splitting fgdata]], an initiative to split the aircraft out of the fgdata repository, in order to decrease its size and thus improve access to the average user/developer.
* [[FlightGear Git: splitting fgdata]], an initiative to split the aircraft out of the fgdata repository, in order to decrease its size and thus improve access to the average user/developer.
* [[Downloading fgdata using bittorrent]], options for downloading fgdata


{{Building}}
{{Building}}

Revision as of 08:19, 29 April 2016

Git is a version control system, used by the FlightGear project to store all of the files required to build and run FlightGear. This includes all the programs, the data (e.g. textures, sounds), supporting tools, etc. Git tracks updates to every file, as developers from around the world work together concurrently to create new versions. The sole exception is the official FGAddon aircraft repository that is Subversion rather than git based.

While new FlightGear features and additions are in development, they are available from Git before they are available in the standard release version. Using Git allows users to use the newest possible version of FlightGear from the latest source files, to experiment with new aircraft or other features. However, it is not a beginner's tool. Using Git can expose the user to unstable features that show ugly error messages, or crash the computer.

As of March 2015, the Git repositories are located at SourceForge and a mirror is hosted at the Mapserver.

Motivation

In May 2010, after a hardware failure on the CVS servers, the FlightGear project changed its version control system from CVS to Git.

Much has been written on the advantages of Git over CVS. For the FlightGear project, 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 work-flow.
  • 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.

Repositories and branches

The FlightGear project is split up in various repositories. The most important ones are listed below. Each repository contains various branches, of which one the most important ones are listed here.

  • simgear: the simulation engine that FlightGear uses.
    • next: current tip of new development. This branch should always compile and run, but various things could be broken.
    • release/*: containing former and (if there is already defined one) upcoming releases.
  • flightgear: FlightGear itself.
    • next: current tip of new development. This branch should always compile and run, but various things could be broken.
    • release/*: containing former and (if there is already defined one) upcoming releases.
  • fgdata: all data (default aircraft, dialogs, sounds) used by FlightGear.
    • next: current branch that is used with the next branch of the code.
    • release/*: used with the release branch of the code.

Additionally there is a SVN repository called FGAddon that holds all additional aircraft, not present in the Git fgdata repository:

  • fgaddon: all additional (official) aircraft.

Related content

  • FlightGear Git: splitting fgdata, an initiative to split the aircraft out of the fgdata repository, in order to decrease its size and thus improve access to the average user/developer.