FlightGear Git: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
m (Added Quick checkout header)
(Added details aboout creating an initial clone of the source from the project's gitorious repository.)
Line 21: Line 21:
This arrangement follows the scheme used by the Git maintainers.
This arrangement follows the scheme used by the Git maintainers.
[http://www.kernel.org/pub/software/scm/git/docs/howto/maintain-git.txt This description] is very technical; you will surely have achieved git-fu if completely understand it. However, the idea of maintaining several branches of different stability is common in collaborative software projects.
[http://www.kernel.org/pub/software/scm/git/docs/howto/maintain-git.txt This description] is very technical; you will surely have achieved git-fu if completely understand it. However, the idea of maintaining several branches of different stability is common in collaborative software projects.
==Quick checkout==
Brief notes:
# Check on gitorious for valid projects: http://gitorious.org/fg
# Cloning Simgear
# Cloning FlightGear
# Cloning FGData
By default you will be checking out the next branch of SimGear and FlightGear. This is probably what you want if you want to assist with reporting bugs and the like before they are release as a proper release version.
===Cloning SimGear===
<pre>
$ git clone git://gitorious.org/fg/simgear.git
Initialized empty Git repository in /home/gpatterson/project/flightgear/compiles/simgear/.git/
remote: Counting objects: 19784, done.
remote: Compressing objects: 100% (5896/5896), done.
remote: Total 19784 (delta 15095), reused 17731 (delta 13610)
Receiving objects: 100% (19784/19784), 6.85 MiB | 88 KiB/s, done.
Resolving deltas: 100% (15095/15095), done.
</pre>
===Cloning SimGear===
<pre>
$ git clone git://gitorious.org/fg/flightgear.git
Initialized empty Git repository in /home/gpatterson/project/flightgear/compiles/flightgear/.git/
remote: Counting objects: 72119, done.
remote: Compressing objects: 100% (17140/17140), done.
remote: Total 72119 (delta 57619), reused 68255 (delta 54756)
Receiving objects: 100% (72119/72119), 19.56 MiB | 111 KiB/s, done.
Resolving deltas: 100% (57619/57619), done.
</pre>
===Cloning FGData===
(To be done)


==External links==
==External links==
Line 32: Line 68:
* [http://sourceforge.net/projects/qgit qgit - interactive git repository viewer and frontend]
* [http://sourceforge.net/projects/qgit qgit - interactive git repository viewer and frontend]
* Additional [[Resources WRT running git on Win32]]
* Additional [[Resources WRT running git on Win32]]
==Quick checkout==

Revision as of 12:46, 23 June 2010

In May 2010, after a hardware failure on the CVS servers, the FlightGear project changed version control system from CVS to Git. The Git repositories are located at Gitorious and at the Mapserver.

Due to the recent switch, we are currently doing our best on providing manuals for obtaining FlightGear through Git. The following articles are work in progress as of June 1st:

Motivation

Much has been written on the advantages of Git over CVS. For us, 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.

Also, as noted before, the CVS servers had a hardware failure on May 2010, speeding up FlightGear's change to Git.

Repositories

For historical reasons there continue to be separate repositories for Simgear and Flightgear. There are 3 interesting branches in the repositories. Listed in order from least stable to most:

  • next The current tip of new development. This branch should always compile and run, but various things could be broken.
  • master The tip of stable, tested new features. If we were to make a new release today, we would start from the tip of this branch. New features that have been "cooking" in the next branch for a few days or weeks will be merged here.
  • maint Bug fixes for the most recently released Flightgear. When a release is made from master, this branch is reset to it.

This arrangement follows the scheme used by the Git maintainers. This description is very technical; you will surely have achieved git-fu if completely understand it. However, the idea of maintaining several branches of different stability is common in collaborative software projects.

Quick checkout

Brief notes:

  1. Check on gitorious for valid projects: http://gitorious.org/fg
  2. Cloning Simgear
  3. Cloning FlightGear
  4. Cloning FGData

By default you will be checking out the next branch of SimGear and FlightGear. This is probably what you want if you want to assist with reporting bugs and the like before they are release as a proper release version.

Cloning SimGear

$ git clone git://gitorious.org/fg/simgear.git
Initialized empty Git repository in /home/gpatterson/project/flightgear/compiles/simgear/.git/
remote: Counting objects: 19784, done.
remote: Compressing objects: 100% (5896/5896), done.
remote: Total 19784 (delta 15095), reused 17731 (delta 13610)
Receiving objects: 100% (19784/19784), 6.85 MiB | 88 KiB/s, done.
Resolving deltas: 100% (15095/15095), done.

Cloning SimGear

$ git clone git://gitorious.org/fg/flightgear.git
Initialized empty Git repository in /home/gpatterson/project/flightgear/compiles/flightgear/.git/
remote: Counting objects: 72119, done.
remote: Compressing objects: 100% (17140/17140), done.
remote: Total 72119 (delta 57619), reused 68255 (delta 54756)
Receiving objects: 100% (72119/72119), 19.56 MiB | 111 KiB/s, done.
Resolving deltas: 100% (57619/57619), done.

Cloning FGData

(To be done)

External links

Git tutorials and resources