Hello,
Here is some more information on the git repository:
Synchronization with SER CVS
============================
The repository
git.sip-router.org/ser is pulls commits from the SER CVS
repository automatically. The synchronization works one-way only, changes
commited to the SER CVS are automatically imported into the Git repository,
but not vice versa. In other words if you want to commit something in the
SER CVS repository then you have to do it manually, git won't help you here.
Clone the repository:
$ git clone
git://git.sip-router.org/ser
and display the list of branches in the cloned repository:
$ git branch -a
origin/HEAD
origin/MAIN
origin/Maintainer
origin/andrei_cvs-head
origin/cancel_fix
origin/cvs-head
origin/janakj
origin/jj/cvshead
origin/jj/doxygen
origin/master
origin/rel_0_8_11
origin/rel_0_8_12
origin/rel_0_8_14
origin/rel_0_9_0
origin/rel_2_0_0
origin/rel_janakj
origin/start
origin/testing_0_8_12
origin/vendor
Several of the branches above are automatically updated from CVS, namely
origin/cvs-head receives cvs commits to HEAD and origin/rel_2_0_0
receives commits to the branch rel_2_0_0 in CVS, and so on.
These branches will be updated with latest commits from the CVS repository
every time you do:
$ git pull
Note that after the steps described above you have the whole CVS commit history
of SER on your local machine, starting with day 1 until today, and including
all branches from the CVS repository. This is convenient because you can
work with the history offline and pretty much all common operations are
blazingly fast because they only work with local files.
Synchronization with Kamailio SVN
=================================
In addition to SER history we also have a git repository which pulls changes
from Kamailio SVN repository automatically. It works just like the automatic
imports of SER from CVS, except that in this case we pull the changes from
the Kamailio SVN repository on sourceforge. To create your local copy of the
repository do:
$ git clone
http://git.sip-router.org/kamailio
This repository is only available through HTTP and read-only. If you display
the list of branches now you will see all branches and tags from Kamailio SVN
repository.
$ git branch -a
origin/0.9
origin/1.0
origin/1.1
origin/1.2
origin/1.3
origin/1.4
origin/rel_0_9_0
origin/rel_1_0_0
origin/rel_1_1_0
origin/tags/1.0.1
origin/tags/1.1.1
origin/tags/1.2.0
origin/tags/1.2.1
origin/tags/1.2.2
origin/tags/1.2.3
origin/tags/1.3.0
origin/tags/1.3.1
origin/tags/1.3.2
origin/tags/1.4.0
origin/tags/openser
origin/tags/tag_rel_1_0_1
origin/tags/tag_rel_1_1_1
origin/trunk
origin/vstag
Note that tags from SVN are represented as branches in git, this is due to
the fact that there is no difference between tags and branches in SVN.
All new SVN commits will be merged in every time you run
$ git pull
To investigate the history of the project you can create a local branch that
will track one of the remote branches for example:
$ git checkout -b kamailio origin/trunk
And then you have the sources of the latest trunk in your working directory
and you can investigate the history with git log.
Synchronization with OpenSIPS SVN
=================================
We also have a git import of the SVN repository of OpenSIPS, it works in
exactly the same way as the Kamailio import described above. To make a local
copy you can clone the repository using:
$ git clone
http://git.sip-router.org/opensips
And then you have all SVN branches of opensips in your local copy of the
repository:
$ git branch -a
origin/1.4
origin/tags/1.4.0
origin/tags/1.4.1
origin/trunk
Just like the kamailio git import, this repository is only available through
HTTP and is read-only.
All Three Projects In One Repository
====================================
There is the possibility to add all three git imports (ser, kamailio, opensips)
in one local git repository. This could be useful for merging, then you can
just switch between various branches in one repository, go through the history
and merge changes. Here is a short example:
Clone the sip-router repository:
$ git clone
git://git.sip-router.org/sip-router
Now you have a local copy of the sip-router repository which contains parts
shared by ser and kamailio.
After that you can tell git to add the SER import as remote branches to be
tracked by running:
$ git remote add ser
git://git.sip-router.org/ser
And then fetch the history of the SER project:
$ git fetch ser
Now you can repeat the same for kamailio and opensips:
$ git remote add kamailio
http://git.sip-router.org/kamailio
$ git remote add opensips
http://git.sip-router.org/opensips
$ git fetch kamailio
$ git fetch opensips
And if you display all the branches in your local clone of sip-router git
repository, you'll notice that you have all the branches of all the projects
there with full history of all three projects:
$ git branch -a
kamailio/0.9
kamailio/1.0
kamailio/1.1
kamailio/1.2
kamailio/1.3
kamailio/1.4
kamailio/rel_0_9_0
kamailio/rel_1_0_0
kamailio/rel_1_1_0
kamailio/tags/1.0.1
kamailio/tags/1.1.1
kamailio/tags/1.2.0
kamailio/tags/1.2.1
kamailio/tags/1.2.2
kamailio/tags/1.2.3
kamailio/tags/1.3.0
kamailio/tags/1.3.1
kamailio/tags/1.3.2
kamailio/tags/1.4.0
kamailio/tags/openser
kamailio/tags/tag_rel_1_0_1
kamailio/tags/tag_rel_1_1_1
kamailio/trunk
kamailio/vstag
opensips/1.4
opensips/tags/1.4.0
opensips/tags/1.4.1
opensips/trunk
ser/HEAD
ser/MAIN
ser/Maintainer
ser/andrei_cvs-head
ser/cancel_fix
ser/cvs-head
ser/janakj
ser/jj/cvshead
ser/jj/doxygen
ser/master
ser/rel_0_8_11
ser/rel_0_8_12
ser/rel_0_8_14
ser/rel_0_9_0
ser/rel_2_0_0
ser/rel_janakj
ser/start
ser/testing_0_8_12
ser/vendor
* master
origin/HEAD
origin/andrei/mod_f_params
origin/andrei/module_interface
origin/cancel_fix
origin/cvs-head
origin/master
origin/rel_0_8_11
origin/rel_0_8_12
origin/rel_0_8_14
origin/rel_0_9_0
origin/rel_2_0_0
origin/ser_core_cvs
origin/testing_0_8_12
To fetch latest commits and stay up-to-date run periodically:
$ git pull
$ git fetch ser
$ git fetch kamailio
$ git fetch opensips
Auto-generated Doxygen Documentation
====================================
There is automatically generated doxygen documentation for every branch and
tag in the SER git import online. The online documentation gets updated every
15 minutes and is available at
http://sip-router.org/doxygen.
Documentation for branches is under
http://sip-router.org/doxygen/ser/branch/<branchname>
documentation for tags generated for tags is at:
http://sip-router.org/doxygen/ser/tag/<tagname>
Thus the doxygen documentation for current CVS SER HEAD is at:
http://sip-router.org/doxygen/ser/branch/cvs-head
and documentation for the 2.0.0 release is at
http://sip-router.org/doxygen/ser/tag/v_2_0_0
There is a few shortcuts too:
http://sip-router.org/doxygen/ser-2.1.x
http://sip-router.org/doxygen/ser-2.0.x
For now we only have autogenerated documentation for SER, we will enable it
for sip-router git reposotory (and possibly others) later when there is
something to generate the documentation from.
More Info
=========
Finally, there is a wiki page with the description of the repository:
http://sip-router.org/wiki/git
I'll try to keep that page up to date and I will also add some
description on how to maintain a modifid ser.cfg on top of changing CVS
tree, a private module, private sets of patches, and so on once I have
some experience with git.
Anyone can edit the wiki page so feel free to add more description if you
like to.
Git Access
==========
I have given write access to the Git repository to all people who have
write access to the SER CVS repository. You can try that by running:
$ git clone ssh://<your_username>@git.sip-router.org/sip-router
And if this works then you have write access. If it does not work then send
an email with your public SSH key and desired username to this list and we
will give you access.
enjoy hacking with git, Jan.
On 18-11 02:18, Andrei Pelinescu-Onciul wrote:
As you probably have noticed the git repository for sip-router is now
online.
It was started from ser core and tm.
git urls:
git://git.sip-router.org/sip-router
(read only)
http://git.sip-router.org/sip-router
(read only, slower, git://... recomended)
ssh://git.sip-router.org/sip-router
(read write but account on
git.sip-router.org needed)
Web interface:
http://git.sip-router.org/cgi-bin/gitweb.cgi
Branches acl: the repository is setup so that you can write/commit
only to the following branches:
<your_username>/.*
tmp/.*
master
We'll add access to more branches as needed (I've added this rules to
avoid creating lots of "root" branches by mistake, e.g. git pull
from a local branch without a refspec).
Please create the commit messages following the git convention
(start with one short line, preferably less then 50 chars summarizing
the changes, then one empty line and then a more detailed description).
See:
http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#creating-g…
http://www.tpope.net/node/106
Quick git introduction:
# clone the repo into the sip-router directory
git clone
git://git.sip-router.org/sip-router
cd sip-router
git branch -a # show all branches
# create a local branch based on origin/andrei/mod_f_params
git checkout --track -b my_branch origin/andrei/mod_f_params
git log # see commit log
git log --pretty=oneline # only the first line from each commit
vim Makefile.defs
git add Makefile.defs
git commit # or git commmit -a to skip the add step and commit all
# changed files
# push changes back (note you need ssh access for this)
# note: the next command will fail, unless your username is andrei :-)
# publish changes on the local "my_branc" to the remote
# andrei/mod_f_params
git push origin my_branch:andrei/mod_f_params
# or push them into the master branch if you are sure about them
git push origin my_branch:master
For more info about git try:
http://git.or.cz/gitwiki/GitDocumentation
and if you want to know how it works:
http://eagain.net/articles/git-for-computer-scientists/
(highly recommended)
CVS access:
CVS_SERVER="git cvsserver" cvs \
-d :ext:andrei@git.sip-router.org/sip-router co master
(instead of master you can use any other branch name that doesn't
include a '/')
The initial checkout takes a while, but after that cvs update seems fast
enough.
SVN access: unfortunately we do not have it. It looks like the
git svnserver is in the project stage (there is some python code but not
runnable yet). There is a way around it, but it would be quite complex
to setup: a git to svn gateway and then svn to git imports.
Other repositories on
git.sip-router.org:
ser - entire ser updated from cvs
ser_core - only ser_core, automatically updated from cvs, read-only
test - test repository, contains an early sip-router version, it has the
same access rules as sip-router (if you have something you want
to test, please use it rather then trying directly on
sip-router).
Special thanks go to Jan, who not only did setup
git.sip-router.org
(including automatic cvs sync for some of the repos), but he's also
hosting it on one of his private machines.
Andrei
_______________________________________________
sr-dev mailing list
sr-dev(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev