# Code Repository

As of December 5, 2006, Mesa is using git as its source code management system. CVS was used previously. The old CVS repository should no longer be used.

The master git repository is hosted on freedesktop.org.

You may access the repository either as an anonymous user (read-only) or as a developer (read/write).

You may also browse the git repository.

## Anonymous git Access

To get the Mesa sources anonymously (read-only):

1. Install the git software on your computer if needed.
2. Get an initial, local copy of the repository with:

           git clone git://anongit.freedesktop.org/git/mesa/mesa

3. Later, you can update your tree from the master repository with:

           git pull origin

## Developer git Access

Mesa developers need to first have an account on freedesktop.org. To get an account, please ask Brian or the other Mesa developers for permission. Then, if there are no objections, follow this procedure.

Once your account is established:

1. Install the git software on your computer if needed.
2. Get an initial, local copy of the repository with:

           git clone git+ssh://username@git.freedesktop.org/git/mesa/mesa

   Replace username with your actual login name.
3. Later, you can update your tree from the master repository with:

           git pull origin

## Windows Users

If you're using git on Windows you'll want to enable automatic CR/LF conversion in your local copy of the repository:

       git config --global core.autocrlf true

This will cause git to convert all text files to CR+LF on checkout, and to LF on commit.

Unix users don't need to set this option.

## Development Branches

At any given time, there may be several active branches in Mesa's repository. Generally, the trunk contains the latest development (unstable) code while a branch has the latest stable code.

The command `git-branch` will list all available branches.

Questions about branch status/activity should be posted to the mesa3d-dev mailing list.