Git is a distributed version control system, or an SCM. We use Git to manage the Compiz Fusion code.
How to get Git access
It is fairly easy to get Git access. After a little bit of involvement on the forum and some code to show for, you should contact the team either on IRC or the development list.
The only reason we want to see some code before we hand out commit access is to avoid a lot of inactive ghost users. It is not a test of your work.
The easiest way to go about this is to create an SSH key (ssh-keygen) and upload it (the public one) somewhere, or mail it to the development list. Guillaume is the one who takes care of our server, so poking him helps.
That's pretty much all you need. You will only get access to your own user repo to begin with, so you will not be able to modify other work than your own unless you ask and have valid reasons. Getting this access is not difficult, it will be given to you when you've contributed to the parts you want access to a few times.
How to use Git
You should probably read a full guide on Git (google), the basic idea is:
You can do all of this without specific access, except the push part.
Using user repositories
Let's say your login is guillaume, and you want to create a repo named compiz-with-pink-elephants.
First, create the repo:
ssh firstname.lastname@example.org mkgitrepo compiz-with-pink-elephants
This will create a git repo with a single "dummy" file. You can clone the repo and start working from there.
Alternatively, you can create a fully empty repo
ssh email@example.com mkemptygitrepo compiz-with-pink-elephants
In that case, you can then push your local repo to there
git push git+ssh://git.compiz.org/git/users/guillaume/compiz-with-pink-elephants master
You can then set the repo description:
ssh firstname.lastname@example.org setrepodesc compiz-with-pink-elephants "Pink elephants for the win"
And clone it:
git clone git+ssh://git.compiz.org/git/users/guillaume/compiz-with-pink-elephants
If your user name on git.compiz.org is different from on your local machine, don't forget to add it before the host part of the uri:
git clone git+ssh://email@example.com/git/users/guillaume/compiz-with-pink-elephants
Development/Git (last edited 2010-07-29 04:57:31 by pool-71-182-245-130)