[tech] git VCS hosting at UCC
David Adam
zanchey at ucc.gu.uwa.edu.au
Sun Apr 19 00:40:39 WST 2009
In short: http://git.ucc.asn.au/
git, the version control system initially built for the Linux kernel,
seems to be becoming the de facto standard for new and exciting projects.
As the UCC is filled with people who enjoy these projects, I decided it
was time we jumped on the bandwagon and had useful git hosting.
To get a repository, e-mail an appropriate SSH public key and your
username to a friendly wheel member. You also need to specify whether or
not it should be publically accessible (anonymous git:// cloning, gitweb).
Then you can do something like this:
git remote add git.ucc git at ssh.ucc.asn.au:myproject.git
git push git.ucc master:refs/heads/master
To clone a tree, you can have a key added as read-only in gitosis, or if
you have a public repo, you can use:
git clone git://git.ucc.asn.au/myproject.git
You can see these instructions, and the public repositories, at
http://git.ucc.asn.au/
Implementation details:
It seems that git is really keen on you not using a central repository;
it's almost as hard to set up sanely as CVS and is certainly a massive
step backward from Subversion or Monotone.
There is a user git with homedir /home/other/git. This user has gitosis
installed using the system dpkg. The configuration of gitosis is
controlled by a git repository hosted in gitosis, so you need to 'git
clone git at ssh.ucc.asn.au:gitosis-admin.git' to make changes, then push
them back. There are instructions in the config file on how to configure
new repositories.
gitweb has also been installed, but rather than using the dpkg the
appropriate files have just been copied out of /usr/lib and /usr/share in
order to make life with suexec simpler.
Only repos that have 'daemon = yes' set in the gitosis configuration are
exported via the git server and gitweb. Unfortunately you have to set the
gitweb owner and description up manually, in $project.git/config and
/description respectively - see an existing project for examples.
The actual git server runs out of inetd on mussel, but in order to have
"git clone git://git.ucc" work, mooneye pipes port 9418 to mussel over
rinetd. Once mooneye gets upgraded to Debian 5.0 (Lenny), we should be
able to run gitosis on there and have ssh://[email protected]/ working.
If there's problems or suggestions email me.
David Adam
UCC Wheel Member
zanchey at ucc.gu.uwa.edu.au
More information about the tech
mailing list