FlightGear Git: Difference between revisions

Jump to navigation Jump to search
Update links to GitLab and small cleanup
m (Update link to FR page)
(Update links to GitLab and small cleanup)
 
Line 4: Line 4:
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 May 2016, the repositories are located at {{Project infrastructure|name}}.
As of January 2025, the repositories are located at [https://gitlab.com/flightgear GitLab]. The aircraft repository [[FGAddon]] remains at {{Project infrastructure|name}}.
 
== 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 ==
== Repositories and branches ==
{{Note|
Next is C++17 since we branched 2020.3 off: so far this seems to be working well, we can use the fun stuff such as std::optional, and the nicer overloads of make_shared / make_unique. Since 2020.3 and before also used C++11, we have been using lambdas, direct member init and gradually replacing ‘typedef’ with ‘using’ for years now, but as an incremental process: for the time being, it doesn't seem like wholesale search and replace conversions are justified.<ref>https://sourceforge.net/p/flightgear/mailman/message/37309892/</ref>
}}
The FlightGear project is split up in the repositories listed below.
The FlightGear project is split up in the repositories listed below.
{| class="wikitable"
{| class="wikitable"
Line 26: Line 15:
| {{simgear source|text=simgear}}
| {{simgear source|text=simgear}}
| [[SimGear]], the simulation engine that FlightGear uses.
| [[SimGear]], the simulation engine that FlightGear uses.
| rowspan="6" |
| rowspan="5" |
Those repositories have the following branches:
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.
* ''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.
* ''release/*'': containing former and (if a specific branch was made for them) upcoming releases.


People not interested in actively contributing to C++ development are encouraged to use the release/2020.3 branch as the next branch may undergoing significant breakage in the near term future.
People not interested in actively contributing to C++ development are encouraged to use the release/{{Current release|cr}} branch as the next branch may undergoing significant breakage in the near term future.


As of [[Changelog 2016.1#Usability|May 2016]], FGRun is replaced by the [[Qt5 Launcher|Qt5 launcher]].
|-
|-
| {{flightgear source|text=flightgear}}
| {{flightgear source|text=flightgear}}
Line 39: Line 27:
|-
|-
| {{fgdata source|text=fgdata}}
| {{fgdata source|text=fgdata}}
| All data (default aircraft, dialogs, sounds) used by FlightGear.
| All data (default aircraft, textures, dialogs, sounds) used by FlightGear.
|-
|-
| {{fgmeta source|text=fgmeta}}
| {{fgmeta source|text=fgmeta}}
Line 46: Line 34:
| {{windows-3rd-party source|text=windows-3rd-party}}
| {{windows-3rd-party source|text=windows-3rd-party}}
| Prebuilt libraries needed to make FlightGear run on Windows.
| Prebuilt libraries needed to make FlightGear run on Windows.
|-
| {{fgrun source|text=fgrun}}
| The [[FGRun]] launcher for FlightGear.
|-
|-
| {{fgaddon source|text=fgaddon}}
| {{fgaddon source|text=fgaddon}}
| [[FGAddon]], an SVN repository that holds all official aircraft (except the [[Cessna 172P]] default plane and the [[UFO]]).
| [[FGAddon]], a SVN repository that holds all official aircraft (except the [[Cessna 172P]] default plane and the [[UFO]]).
|
|
|-
|-
Line 77: Line 62:
| [[TerraFS]], a Linux tool to mount the TerraSync scenery as a remote file system.
| [[TerraFS]], a Linux tool to mount the TerraSync scenery as a remote file system.
|
|
|-
| {{sourceforge source|proj=flightgear|repo=fgms|text=fgms}}
| [[FlightGear Multiplayer Server|Multiplayer server system]]
|
|-
| {{fgrun source|text=fgrun}}
| The [[FGRun]] launcher for FlightGear.
| As of [[Changelog 2016.1#Usability|May 2016]], FGRun is replaced by the [[Qt5 Launcher|Qt5 launcher]].
|-
|-
| {{sourceforge source|proj=flightgear|repo=maclauncher|text=maclauncher}}
| {{sourceforge source|proj=flightgear|repo=maclauncher|text=maclauncher}}
| [[FlightGear_Mac_OS_X_Launcher|Old FlightGear launcher for Mac]].
| [[FlightGear_Mac_OS_X_Launcher|Old FlightGear launcher for Mac]].
| Deprecated by the [[Qt5 Launcher]].
| Deprecated by the [[Qt5 Launcher]].
|-
| {{sourceforge source|proj=flightgear|repo=fgms|text=fgms}}
| [[FlightGear Multiplayer Server|Multiplayer server system]]
|
|}
|}
== History ==
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.
In January 2025, most of the repositories were moved to [https://gitlab.com/flightgear GitLab].


== Related content ==
== Related content ==

Navigation menu