FlightGear Git on Windows

From FlightGear wiki
Jump to navigation Jump to search

This document is intended to guide you through the installation of the development version of FlightGear through Git on Windows.

Different needs

There are two kinds of people who would install Git – those who intend doing development, and those who just want to have the latest and greatest version.

The big difference is the amount of data that needs to be downloaded. Another important factor is your Internet connection speed and the amount of bandwidth you have. This affects the way in which you can do your downloading.

Developers need the entire history of FlightGear so that they can push changes, whereas cutting-edge users just need the latest version of each file.

The various headings will indicate whether they are intended for developers, users or both.

Note: Where this document refers to your "release copy of FlightGear," it means the copy of FlightGear that you downloaded from the FlightGear website.

Pre-installation work (both)

We need to choose an installation directory which is different to the one where your release copy of FlightGear is installed. The folders you create must be empty. This can be any drive on your computer. In this document, we assume that you are installing FlightGear on the D drive. Just replace the commands given in this document by your installation directory when using another drive or different directory root.

Create the following directories on your drive:

  • FlightGear
    • bin
    • data

You will notice that this is identical to the folder structure of of your working copy of FG.

A first Git install (developer)

Obtaining data from Git

You can use any Git software; however, msysGit will be used in this document. You can download from here. When the file has finished downloading, begin the installation by double-clicking on it and following the installation instructions that show up on your screen.

The amount of data to download (as of msysGit version 1.9.5) is 17.1 GB, so if you have a slow Internet connection, limited bandwidth per month or you cannot keep your computer on for the long time that it takes for the data to download from the Git server, follow Method 2.

Method 1

The Git BASH window

Before starting, confirm that the folder you're using does not contain an existing copy of FlightGear!

Open Git BASH via C:\Program Files\msysgit\Git Bash (or via the shortcut) and run (replacing the path with the correct path on your system):

cd "D:\FlightGear\data"

Then, run the following command, to initialize a Git repository. This should create a .git folder in the FlightGear\data folder (although it may be a folder):

git init

Next, run this command:

git clone git://git.code.sf.net/p/flightgear/fgdata/
Note  This command can take up to a couple of hours on slow Internet connections.

Now msysGit will pull the entire fgdata package into your FlightGear\data directory.

Note  Some files demand that CR/LF (carriage return/line feed) line breaks are preserved. To avoid errors or problems later, it is recommended that you run these commands:
git config --global core.autocrlf true
git config --global core.safecrlf true

Method 2

This article or section contains out-of-date information

Please help improve this article by updating it. There may be additional information on the talk page.

Download fgdata.bundle from http://flightgear.mxchange.org/pub/fgfs/.

You might want to use the fgdata.bundle.torrent, as this will give you pause and resume.

After downloading, download the MD5 checksum, fgdata.bundle.md5, from the same site.

Verify the checksum of your file using any free MD5 checking utility available on the internet like this one: http://www.bullzip.com/products/md5/info.php The generated checksum should match the downloaded one. If it doesn't, download it again.

Copy this file to your FlightGear\data directory.

Open Git Bash via C:\Program Files\msysgit\Git Bash (the shortcut) and run (replacing the path with your preferred path):

cd "D:\FlightGear\data"
git clone fgdata.bundle

Now msysGit will expand the entire fgdata.bundle package into FlightGear\data\fgdata. Wait for a few minutes until it is completed (the flashing cursor will reappear after it is done).

Note  If you get an error like this:
 warning: unrecognized header: -deg" - /orientation/roll += "-deg" - /position/altitude += "-ft" - /position/altitude-agl += "-ft" - /position/latitude += "-deg" - /position/longitude += "-deg" - /radios   
 /adf/frequencies/selected += "-khz" - /radios/adf/frequencies/standby += "-khz" - /radios/adf/rotation += "-deg" - /radios/nav1/* => /radios/nav[0]/* - /radios/nav2/* => /radios/nav[1]/* - /radios/nav[*]
 /dme/distance += "-nm" - /radios/nav[*]/frequencies/selected += "-mhz" - /radios/nav[*]/frequencies/standby += "-mhz" - /radios/nav[*]/radials/actual += "-deg" - /radios/nav[*]/radials/selected += "-deg" - 
 /sim/view/goal-offset += "-deg" - /sim/view/offset += "-deg" - /steam/adf += "-deg" - /steam/airspeed += "-kt" - /steam/altitude += "-ft" - /steam/gyro-compass += "-deg" - /steam/gyro-compass-error += "-deg" - 
 /steam/mag-compass += "-deg" - /steam/vertical-speed += "-fpm" - /velocities/airspeed += "-kt" - /velocities/side-slip += "-rad" - /velocities/speed-down += "-fps" - /velocities/speed-east += "-fps" - 
 /velocities/speed-north += "-fp 
 warning: remote HEAD refers to nonexistent ref, unable to checkout.

… run this command:

cd fgdata

Next, do this command:

git checkout -b next origin/next

It should be fixed now. Go back to Flightgear\data.

Now, pull from Git to update to the latest files using:

git pull git://git.code.sf.net/p/flightgear/fgdata/ next

A first Git install (user)

Obtaining data from Git

Before starting, confirm that the folder you're using does not contain an existing copy of FlightGear!

Open Git BASH via C:\Program Files\msysgit\Git Bash (or via the shortcut) and run (replacing the path with the correct path on your system):

cd "D:\FlightGear\data"

Then, run the following command, to initialize a Git repository. This should create a .git folder in the FlightGear\data folder (although it may be a folder):

git init

Add the following command and press Enter.

git pull --depth=1 git://git.code.sf.net/p/flightgear/fgdata/ next

This can be 3 GB or more. Unfortunately, there is no way of doing pause and resume.

When it is finished, you will have the entire data structure of FG, however you will only have just a few aircraft. Others must be downloaded or obtained from FGAddon.

Getting the binary (all)

Now that we've got all the data, we need to have a binaries (.exe and .dll files) which contain the actual software that runs FlightGear.

Go to http://download.flightgear.org/builds/nightly/ and download the one of the binaries (as you have downloaded the data using git, you do not need the -full.exe. Run the installer and follow its instructions. Let it install the binary into your FlightGear\bin directory (make sure the installer points to the directory above the bin directory created in pre-installation work - otherwise you get a bin directory below the bin directory). The installer will detect whether you have a 32-bit or 64-bit system.

Note  If your antivirus warns you of a Trojan horse, ignore it. AVG and avast! are known for false positives.

Running FlightGear (all)

Run FlightGear\bin\fgrun.exe to launch the FlightGear Wizard, or run FlightGear\bin\fgfs.exe by commandline.

If using FGRun, you will have to use the Prev button to go back to the first page and change the paths for the FlightGear executable program and $FG_ROOT to your new folders. Most of the time you can leave FG_SCENERY as it is.

Keeping your FlightGear up to date (all)

Of course you want to keep FlightGear up to date, to keep current with the latest developments. Otherwise, you don't have any reason to use the latest development version.

  1. Download the latest binary, as described above, and overwrite the old one in FlightGear\bin.
  2. Update your FlightGear\data directory, to match it with the binary. For smooth operations, it is very important to have data and a binary from matching dates!
    1. Open Git Bash and navigate to FlightGear\data directory.
    2. (Developers only): Run this command:
      git reset --hard
      
      This will revert any changes that you have made to FlightGear.
Caution  If you made local changes, make sure to backup those first, outside your FlightGear data directory! Otherwise, you will lose those changes. Or, even better, you can learn to commit your changes to your local Fit repository.
    1. Run this command:
      git pull git://git.code.sf.net/p/flightgear/fgdata/
      
      This may take a while, but not as long as the first time; it will only pull any changes made since the last time you made an update.

Commiting changes

As a developer, you probably want to share your work with the world. For FlightGear, most developers do this by committing stuff to the Git repository. You can find out more at FlightGear Git: data developers and/or FlightGear Git: core developers.

Related content