Hi fellow wiki editors!

To help newly registered users get more familiar with the wiki (and maybe older users too) there is now a {{Welcome to the wiki}} template. Have a look at it and feel free to add it to new users discussion pages (and perhaps your own).

I have tried to keep the template short, but meaningful. /Johan G

Difference between revisions of "FlightGear Git"

From FlightGear wiki
Jump to: navigation, search
(Spelling fix; remove Downloading fgdata using bittorrent (it belongs on the FlightGear Git: data developers page and it's outdated))
(Small refactoring, added repository table)
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 Subversion rather than git based.
+
'''Git''' is a {{wikipedia|version control system}} used by the [[FlightGear]] project to store all the files required to build and run the simulator. 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 May 2016, the repositories are located at [https://sourceforge.net/p/flightgear SourceForge].
  
 
== Motivation ==
 
== Motivation ==
Line 10: Line 10:
  
 
Much has been written on the advantages of Git over CVS. For the FlightGear project, some advantages are:
 
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.
+
* 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.
 
* 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.
 
* 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 ==
 
== 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.
+
The FlightGear project is split up in the repositories listed below.
 
+
{| class="wikitable"
* {{simgear source|text=simgear}}: the simulation engine that FlightGear uses.
+
! Name
** ''next'': current tip of new development. This branch should always compile and run, but various things could be broken.
+
! Contents
** ''release/*'': containing former and ''(if there is already defined one)'' upcoming releases.
+
! Remarks
* {{flightgear source|text=flightgear}}: FlightGear itself.
+
|-
** ''next'': current tip of new development. This branch should always compile and run, but various things could be broken.
+
| {{simgear source|text=simgear}}
** ''release/*'': containing former and ''(if there is already defined one)'' upcoming releases.
+
| The simulation engine that FlightGear uses.
* {{fgdata source|text=fgdata}}: all data (default aircraft, dialogs, sounds) used by FlightGear.
+
| rowspan="3" |
** ''next'': current branch that is used with the ''next'' branch of the code.
+
Those repositories have the following branches:
** ''release/*'':  used with the ''release'' branch of the code.
+
* ''next'': current tip of new development. This branch should always compile and run, but various things could be broken.
 
+
* ''release/*'': containing former and (if a specific branch was made for them) upcoming releases.
Additionally there is a SVN repository called [[FGAddon]] that holds all additional aircraft, not present in the Git fgdata repository:
+
|-
* {{fgaddon source|text=fgaddon}}: all additional (official) aircraft.
+
| {{flightgear source|text=flightgear}}
 +
| FlightGear itself.
 +
|-
 +
| {{fgdata source|text=fgdata}}
 +
| All data (default aircraft, dialogs, sounds) used by FlightGear.
 +
|-
 +
| {{fgaddon source|text=fgaddon}}
 +
| SVN repository that holds all official aircraft (except the [[Cessna 172P]] default plane and the [[UFO]]).
 +
|
 +
|-
 +
| {{fgrun source|text=fgrun}}
 +
| The [[FGRun]] launcher for FlightGear.
 +
| As of May 2016, in the process of being replaced by the [[Qt5 Launcher|Qt5 launcher]].
 +
|-
 +
| Windows-3rd-party
 +
| Prebuilt libraries needed to make FlightGear run on Windows.
 +
|
 +
|-
 +
| {{fgmeta source|text=fgmeta}}
 +
| FlightGear "meta" repository containing build and setup scripts for the whole project.
 +
|
 +
|-
 +
| fgcom
 +
| [[FGCom 3.0|FGCom]], a voice-over-IP application used by [[multiplayer]] controllers to provide [[Air traffic control|ATC services]].
 +
|
 +
|-
 +
| {{getstart source|text=getstart}}
 +
| Sources for the ''Getting Started'' manual included with the simulator.
 +
|
 +
|-
 +
| {{openradar source|text=openradar}}
 +
| The [[OpenRadar]] application used by multiplayer controllers.
 +
|
 +
|-
 +
| {{sceneryweb source|text=sceneryweb}}
 +
| Source code and configuration files for the [http://mapserver.flightgear.org/ Mapserver], the [https://scenery.flightgear.org/ scenery portal] and the [[TerraGear scenery build server]].
 +
|
 +
|-
 +
| {{terragear source|text=terragear}}
 +
| The [[TerraGear]] scenery building toolkit.
 +
|
 +
|-
 +
| terrafs
 +
| A Linux tool to mount the TerraSync scenery as a remote file system.
 +
|
 +
|-
 +
| MacLauncher
 +
| Old FlightGear launcher for Mac.
 +
| Deprecated by the [[Qt5 Launcher|Qt5 launcher]].
 +
|}
  
 
== 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.
  
 
{{Building}}
 
{{Building}}

Revision as of 18:18, 13 May 2016

Git is a version control system This is a link to a Wikipedia article used by the FlightGear project to store all the files required to build and run the simulator. 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 May 2016, the repositories are located at SourceForge.

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 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.

Repositories and branches

The FlightGear project is split up in the repositories listed below.

Name Contents Remarks
simgear The simulation engine that FlightGear uses.

Those repositories have the following branches:

  • next: current tip of new development. This branch should always compile and run, but various things could be broken.
  • release/*: containing former and (if a specific branch was made for them) upcoming releases.
flightgear FlightGear itself.
fgdata All data (default aircraft, dialogs, sounds) used by FlightGear.
fgaddon SVN repository that holds all official aircraft (except the Cessna 172P default plane and the UFO).
fgrun The FGRun launcher for FlightGear. As of May 2016, in the process of being replaced by the Qt5 launcher.
Windows-3rd-party Prebuilt libraries needed to make FlightGear run on Windows.
fgmeta FlightGear "meta" repository containing build and setup scripts for the whole project.
fgcom FGCom, a voice-over-IP application used by multiplayer controllers to provide ATC services.
getstart Sources for the Getting Started manual included with the simulator.
openradar The OpenRadar application used by multiplayer controllers.
sceneryweb Source code and configuration files for the Mapserver, the scenery portal and the TerraGear scenery build server.
terragear The TerraGear scenery building toolkit.
terrafs A Linux tool to mount the TerraSync scenery as a remote file system.
MacLauncher Old FlightGear launcher for Mac. Deprecated by the Qt5 launcher.

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.