Telepathy uses git.
You can browse the source code via the Telepathy gitweb. That site's "summary" links also list the URLs for both anonymous access (git://) and developer access (git+ssh://) for individual modules.
Checking out the source code
If you want bleeding-edge code, (or if you want to help out with development of Telepathy), you can check out the source code from git. Of course, you might prefer to use our Source Code Tarballs.
Anybody can checkout the latest source code anonymously with a command such as the following:
git clone git://anongit.freedesktop.org/telepathy/telepathy-glib
You can commit changes to your local repository but will not be able to push them to the central repository.
If you are a developer with an ssh account in the telepathy
group and would like to be able to push your changes to the central repository, please clone the main repository on the server to your public_html, to have a public repository of your own, then clone that to your development machine. See "Working on an existing git repository" below.
Help for git beginners
If you are not familiar with git, these links might be useful.
- See "Using Git" on the cairomm page.
Working on an existing git repository
(This workflow gives you a personal repository to point people towards for code review, and avoids the problem of accidentally pushing unreviewed changes to the central repository.)
Replace the values of PROJECT, USERNAME and OTHERUSER as appropriate.
# on dhansak: create your personal repository PROJECT=telepathy-glib mkdir -p ~/public_html/git cd ~/public_html/git git clone --bare git://anongit.freedesktop.org/telepathy/$PROJECT $PROJECT.git # on your laptop: check out a copy PROJECT=telepathy-glib USERNAME=foo git clone git+ssh://git.collabora.co.uk/home/$USERNAME/public_html/git/$PROJECT.git $PROJECT cd $PROJECT git remote add upstream ssh://git.freedesktop.org/telepathy/$PROJECT # if you are interested in unreviewed code published by other users, e.g. smcv: OTHERUSER=smcv git remote add smcv git+ssh://git.collabora.co.uk/git/user/$OTHERUSER/telepathy-glib.git git config remote.$OTHERUSER.tagopt --no-tags git remote update # on your laptop: do some work on a new branch, and publish it git checkout -b bug-12345 master vim something.c make check git commit -a git push --all # on your laptop: (for committers only) once your code is reviewed, merge it git checkout master git remote update upstream git merge upstream/master # this should always be a "fast-forward" merge git merge bug-12345 git push upstream master # on your laptop: (for committers only) review and merge someone else's code (e.g. smcv's bug-54321 branch) git remote update smcv gitk # and look at changes in refs/remotes/smcv/bug-54321 git checkout master git remote update upstream git merge upstream/master git merge smcv/bug-54321 git push upstream master
Setting up a shared git repository
/!\ Warning: previous instructions have been wrong
Official repositories should be requested from Freedesktop.org admins.
- Set up an empty Git repo:
mkdir /srv/git.collabora.co.uk/git/project_name.git cd /srv/git.collabora.co.uk/git/project_name.git chgrp telepathy . git init --bare --shared=group
- Make post-update hook executable (for http support)
- Edit telepathy-foo.git/config and add the commits mailing list:
[hooks] mailinglist = telepathy-commits@lists.freedesktop.org
- Move the old post-receive script out of the way (e.g. post-receive.orig) and replace it with a symlink to /srv/git.collabora.co.uk/hooks/post-receive