FlightGear Git on Windows: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
(Start cleanup, syntaxhighlight, etc)
(11 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{outdated}}
{{FlightGearGitOn}}
{{FlightGearGitOn}}


Line 27: Line 26:
== A first Git install (developer) ==
== A first Git install (developer) ==
=== Obtaining data from Git ===
=== Obtaining data from Git ===
You can use any Git software; however, msysGit will be used in this document.  You can download from [https://github.com/msysgit/msysgit/releases/latest here].  At the bottom, below the "Downloads" heading, click on the link that has a format similar to <code>Git-1.9.5-preview20150319.exe</code>.  Clicking on this link will begin the download.  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.
You can use any Git software; however, msysGit will be used in this document.  You can download from [http://gitforwindows.org/ 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.
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.
Line 46: Line 45:


Next, run this command:
Next, run this command:
<syntaxhighlight lang="bash">
{{#tag:syntaxhighlight|{{fgdata clone}}|lang="sh"}}
git clone git://git.code.sf.net/p/flightgear/fgdata
</syntaxhighlight>


{{Note|This command can take up to a couple of hours on slow Internet connections.}}
{{Note|This command can take up to a couple of hours on slow Internet connections.}}
Line 54: Line 51:
Now msysGit will pull the entire [[fgdata]] package into your <code>FlightGear/data</code> directory.
Now msysGit will pull the entire [[fgdata]] package into your <code>FlightGear/data</code> directory.


{{Note|Some files demand that CR/LF (carriage return/line feed) line breaks are preserved.  To avoid errors or problems later, run these commands:
{{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:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
git config --global core.autocrlf true
git config --global core.autocrlf true
Line 62: Line 59:


==== Method 2 ====
==== Method 2 ====
Download the <tt>fgdata.bundle</tt> from or http://flightgear.mxchange.org/pub/fgfs/. Use <tt>Right mouseclick > Save target as</tt> on the file, if you end up with a webpage full of weird characters.
{{out of date}}
 
Download <code>fgdata.bundle</code> from http://flightgear.mxchange.org/pub/fgfs/.


You might want to use the <tt>fgdata.bundle.torrent</tt>, as this will give you pause and resume.
You might want to use the <code>fgdata.bundle.torrent</code>, as this will give you pause and resume.


After downloading, download the MD5 checksum, fgdata.bundle.md5, from the same site.
After downloading, download the MD5 checksum, <code>fgdata.bundle.md5</code>, 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
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 not, redownload.
The generated checksum should match the downloaded one. If it doesn't, download it again.


Copy this file to your <tt>FlightGear\data</tt> directory.
Copy this file to your <code>FlightGear/data</code> directory.


Open Git Bash via <tt>C:\Program Files\msysgit\Git Bash</tt> (the shortcut) and run (replacing the path with your preferred path):
Open Git Bash via <code>C:/Program Files/msysgit/Git Bash</code> (the shortcut) and run (replacing the path with your preferred path):
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
cd D:/FlightGear/data
cd D:/FlightGear/data
Line 79: Line 78:
</syntaxhighlight>
</syntaxhighlight>


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


If your get this error:
{{Note|If you get an error like this:
<pre style="white-space:pre-wrap">
  warning: unrecognized header: -deg" - /orientation/roll += "-deg" - /position/altitude += "-ft" - /position/altitude-agl += "-ft" - /position/latitude += "-deg" - /position/longitude += "-deg" - /radios   
  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[*]
  /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[*]
Line 91: Line 90:
  /velocities/speed-north += "-fp  
  /velocities/speed-north += "-fp  
  warning: remote HEAD refers to nonexistent ref, unable to checkout.
  warning: remote HEAD refers to nonexistent ref, unable to checkout.
</pre>


run this command:
run this command:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
cd fgdata
cd fgdata
</syntaxhighlight>
</syntaxhighlight>


and press enter
Next, do this command:
then
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
git checkout -b master origin/master
git checkout -b next origin/next
</syntaxhighlight>
</syntaxhighlight>


It should be fixed now. Go back to Flightgear/data.
It should be fixed now. Go back to <code>Flightgear/data</code>.
}}


Now pull from GIT to update to the latest files using  
Now, pull from Git to update to the latest files using:
<syntaxhighlight lang="bash">
{{#tag:syntaxhighlight|
git pull git://gitorious.org/fg/fgdata.git master
{{fgdata source|cmd=git pull|protocol=git|type=git|post=next|full=1}}
</syntaxhighlight>
| lang = "sh"
 
}}
== A first Git install (User) ==


== A first Git install (user) ==
=== Obtaining data from Git ===
=== Obtaining data from Git ===
Open Git Bash via <tt>C:\Program Files\msysgit\Git Bash</tt> (or open via the shortcut) and run (replacing the path with your preferred path):
Before starting, confirm that the folder you're using '''does not''' contain an existing copy of FlightGear!
<syntaxhighlight lang="bash">
cd D:/FlightGear/data
</syntaxhighlight>


In the event that the program refuses to change directory, try this instead:
Open Git BASH via <code>C:/Program Files/msysgit/Git Bash</code> (or via the shortcut) and run (replacing the path with the correct path on your system):
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
cd "D:/FlightGear/data"
cd "D:/FlightGear/data"
</syntaxhighlight>
</syntaxhighlight>


or, in some cases:
Then, run the following command, to initialize a Git repository. This should create a <code>.git</code> folder in the <code>FlightGear/data</code> folder (although it may be a folder):
<syntaxhighlight lang="bash">
cd D:
cd Flightgear/data
</syntaxhighlight>
 
(replace the above paths with whatever you have created.)
 
Then run the following, to initialise a Git repository. This should create a .git folder in data/. (It will probably be a hidden folder.)
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
git init
git init
Line 137: Line 126:


Add the following command and press Enter.
Add the following command and press Enter.
<syntaxhighlight lang="bash">
{{#tag:syntaxhighlight|
git pull --depth 1 git://gitorious.org/fg/fgdata master
{{fgdata source|cmd=git pull|opt=--depth=1|protocol=git|type=git|post=next|full=1}}
</syntaxhighlight>
| lang = "sh"
}}
 
This can be 3 GB or more.  Unfortunately, there is no way of doing pause and resume.


This can be 3GB 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]].


When it is finished, you will have the entire data structure of FG, including ''all'' the aircraft.
== Getting the binary (all) ==
Now that we've got all the data, we need to have a binaries (<code>.exe</code> and <code>.dll</code> files) which contain the actual software that runs FlightGear.


== Getting the binary (All) ==
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 <code>-full.exe</code>. Run the installer and follow its instructions. Let it install the binary into your <tt>FlightGear/bin</tt> 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.
Now 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 {{build link|path=/view/Win/job/Windows-nightly/}} and download the <tt>flightgear-nightly-*.exe</tt> file. Run the installer and follow its instructions. Let it install the binary into your <tt>FlightGear/bin</tt> directory. (Otherwise install it anywhere handy and copy the ''entire'' contents into the bin folder.
* The installer is intelligent: it detects whether you have a 32-bit or 64-bit system.


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


== Running FlightGear (All) ==
== Running FlightGear (all) ==
Run <tt>FlightGear\bin\fgrun.exe</tt> to launch the [[FlightGear Wizard]], or run <tt>FlightGear\bin\fgfs.exe</tt> by commandline.  
Run <code>FlightGear/bin/fgrun.exe</code> to launch the [[FlightGear Wizard]], or run <code>FlightGear/bin/fgfs.exe</code> by commandline.  


If using fgrun.exe You will have to use Prev to go back to the first page and change the entries for Executable and FG_ROOT to your new folders. Most of the time you can leave FG_SCENERY as it is. Until there is a major development in FG's scenery handling methods.
If using [[FGRun]], you will have to use the {{button|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) ==
== Keeping your FlightGear up to date (all) ==
Of course you want to keep FlightGear up to date, to keep current with the latest developments. Else you don't have a reason to use the development (or cutting-edge) version.  
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.  


# Download the latest binary, as described in [[#Getting the binary|Getting the binary]] and overwrite the old one in <tt>FlightGear\bin</tt> (instead you could rename the current binary's directory to something like bin_latest, in case the newer binary doesn't work well).
# Download the latest binary, as described [[#Getting the binary (all)|above]], and overwrite the old one in <code>FlightGear/bin</code>.
# Update your <tt>FlightGear\data</tt> directory, to match it with the binary. For smooth operations, it is very important to have data and a binary from matching dates!
# Update your <code>FlightGear/data</code> directory, to match it with the binary. For smooth operations, it is very important to have data and a binary from matching dates!
## Open Git Bash and navigate to <tt>FlightGear\data</tt> directory.
## Open Git Bash and navigate to <code>FlightGear/data</code> directory.
## (Developers) Run ''git reset --hard'' to revert any local changes. <font color="red">'''Note: this will delete all local changes! If you made local changes, make sure to backup those first, outside your FlightGear data directory! Or, better, learn to commit your changes to your local git repository.'''</font>
## '''(Developers only):''' Run this command:
## Run ''git pull git://gitorious.org/fg/fgdata'' and let it update, this can take a while, depending on how long ago you last did an update..
<syntaxhighlight lang="bash">
git reset --hard
</syntaxhighlight>
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.}}
## Run this command:
{{#tag:syntaxhighlight|
{{fgdata source|cmd=git pull|protocol=git|type=git|full=1}}
| lang = "sh"
}}
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 ==
== 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.
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 ==
== Related content ==
* [[FlightGear Git for laymen]]
* [[FlightGear Git: data developers]]
* [[FlightGear Git: data developers]]
* [[FlightGear Git: core developers]].
* [[FlightGear Git: core developers]]


[[Category:Git]]
[[Category:Git]]


[[pl:FlightGear Git na Windows]]
[[pl:FlightGear Git na Windows]]
[[Category:Windows specific]]

Revision as of 07:50, 3 February 2018

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