Previous: Using GNU Arch, Up: Hacker's guide

### 3.15 Using GIT

#### 3.15.1 About GIT

There's no CVS or Subversion (AKA “SVN”) source depot for Liquid War 6. Instead, a GIT depot is used. GIT has many advantages over other source control managers (SCM), among them, it's distributed, like GNU Arch.

You can find interesting informations on GIT here:

- http://git-scm.com/documentation
- http://savannah.gnu.org/maintenance/UsingGit
- http://savannah.gnu.org/git/?group=liquidwar6

#### 3.15.2 Getting the latest source

Simply install git and run the following command:

         git clone git://git.sv.gnu.org/liquidwar6.git

If you are behing a firewall and can't have direct TCP/IP access:

         git clone http://git.sv.gnu.org/r/liquidwar6.git

Additionnally, source can be browsed online here: http://git.savannah.gnu.org/cgit/liquidwar6.git

#### 3.15.3 Developper access

You need an ssh access on Savannah and appropriate rights on the project, then you can type:

         git clone login@git.sv.gnu.org:/srv/git/liquidwar6.git

#### 3.15.4 Submitting patches

If you have developper access to the project, then a simply `git push` will commit your changes.

If not (that is, if you checked out anonymously using `git clone git://git.sv.gnu.org/liquidwar6.git` for instance, you can still submit patches. Follow these steps:

- edit the code, make your patches, commit to your local GIT tree
- run `git format-patch -p origin` this command will generate `.patch` files, one for each of you commits, which you can send by email. They can be easily integrated in the main source tree by using `git apply <file.patch>`.

Note that you can need to run `git format-patch -p master` (with `master` instead of `origin`) it not using a fresh checkout. Also consider adding the `--stdout` switch, eg `git format-patch -p master --stdout > my-changes.patch` if you're not using a fresh checkout.