This is an old revision of the document!
Hacking SIP-ROUTER with Git
SIP-ROUTER Git Repository
The Git repository for sip-router is available through HTTP, SSH, the proprietary Git protocol and CVS. The HTTP and Git access methods provide only read-only access to the repository, that means you will be able to check out your own copy of the repository, but you will not be able to push your changes back.
To clone the repository using Git protocol do (recommended for read-only access):
git clone git://git.sip-router.org/sip-router
To clone the repository using HTTP do:
git clone http://git.sip-router.org/sip-router
If you have write access to the repository and access to the git host then you can checkout the repository using ssh:
git clone ssh://username@git.sip-router.org/sip-router
where username is your username on host git.sip-router.org. Please see also GIT Quick Start Guide.
You can also browse the repository through the gitweb WWW interface at http://git.sip-router.org
Repository Layout
The repository is setup so that you can commit only to the following branches:
- <your_username>/*
- tmp/*
- master
In general you should not commit to master. You should use your own branch for work-in-progress and only when you think it\'s in a good enough form (it compiles and looks stable), you should merge it to master.
Commit Messages
Please create the commit messages following the git convention:
- start with one short line, preferably less then 50 chars summarizing the changes
- follow by exactly one empty line
- then a more detailed description (if necessary), but make sure you don\'t have lines longer then 72 characters
See also:
Example vim/gvim config additions for git commit messages:
\" git commits edit au BufNewFile,BufRead COMMIT_EDITMSG setf git set ai tw=66
Merge HOWTO
Please see GIT Merge into master HOWTO.
CVS Compatibility
The repository is also available through cvs for those who do not want or cannot use git. A recent version of cvs client is needed to access the repository. You need to have the following two environment variable set if you want to access the repository anonymously through the pserver method:
export CVSROOT=:pserver:anonymous@cvs.sip-router.org/sip-router export CVS_SERVER=git-cvsserver
To checkout the source tree you need to specify the name of the head (a.k.a branch) instead of the cvs module!. You can see what branches are available in the repository in gitweb at http://git.sip-router.org]] (look for heads)
The most important head names are:
- master - This is the main development/unstable branch (HEAD in cvs terminology)
So if you want to checkout the latest development version then do:
cvs co master
CVS write access is only available through ssh:
export CVSROOT=:ext:username@cvs.sip-router.org/sip-router export CVS_SERVER=git-cvsserver cvs co master
The cvs compatibility layer does not support tagging and branching, so you would need to use git for that.