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-go... 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
Hi Andrei
I am very happy to see that we are now using GIT for development :)
/alfred
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-go... 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@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
On Tuesday 18 November 2008, Andrei Pelinescu-Onciul wrote:
As you probably have noticed the git repository for sip-router is now online. [..]
Hi Andrei,
first of all thank you for setting this up. :-) I'll later try to fetch the repository content with git.
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.
Hm, this is unfortunate. SVN access would have been great to easily integrate certain directories into our tree. I don't think this really need to provide read/write access, perhaps exporting it read-only would be easier?
Cheers,
Henning
On 18-11 12:58, Henning Westerholt wrote:
On Tuesday 18 November 2008, Andrei Pelinescu-Onciul wrote:
As you probably have noticed the git repository for sip-router is now online. [..]
Hi Andrei,
first of all thank you for setting this up. :-) I'll later try to fetch the repository content with git.
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.
Hm, this is unfortunate. SVN access would have been great to easily integrate certain directories into our tree. I don't think this really need to provide read/write access, perhaps exporting it read-only would be easier?
Well, we could probably setup a read-only SVN tree and perodically commit stuff there from the git repository. But in that case the commit history will most likely be lost. So, in fact, this would only be an SVN repository containining automatically updated snapshots of what's being cooked in the git repository.
My question is: Is this really worth it?
Jan.
I would really appreciate the SVN support. The thing is that I would like to link for example in the OpenIMSCore SVN the entire sip-router core with svn:external. So for projects that are now on SVN (also Kamailio), this might be valuable as to have as little stress on users while keeping the common code updated. But write support would probably not really be worth the effort...
Cheers, -Dragos
Jan Janak wrote:
Well, we could probably setup a read-only SVN tree and perodically commit stuff there from the git repository. But in that case the commit history will most likely be lost. So, in fact, this would only be an SVN repository containining automatically updated snapshots of what's being cooked in the git repository.
My question is: Is this really worth it?
Jan.
sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
Dragos,
I keep it on the todo list for the sip-router.org infrastructure, but I currently do not have the cycles available to do it. If you can find someone who would be willing to configure it then let me know and we can start working on it.
Jan.
On 12-12 15:42, Dragos Vingarzan wrote:
I would really appreciate the SVN support. The thing is that I would like to link for example in the OpenIMSCore SVN the entire sip-router core with svn:external. So for projects that are now on SVN (also Kamailio), this might be valuable as to have as little stress on users while keeping the common code updated. But write support would probably not really be worth the effort...
Cheers, -Dragos
Jan Janak wrote:
Well, we could probably setup a read-only SVN tree and perodically commit stuff there from the git repository. But in that case the commit history will most likely be lost. So, in fact, this would only be an SVN repository containining automatically updated snapshots of what's being cooked in the git repository.
My question is: Is this really worth it?
Jan.
sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
On Nov 18, 2008 at 12:58, Henning Westerholt henning.westerholt@1und1.de wrote:
On Tuesday 18 November 2008, Andrei Pelinescu-Onciul wrote:
As you probably have noticed the git repository for sip-router is now online. [..]
Hi Andrei,
first of all thank you for setting this up. :-) I'll later try to fetch the repository content with git.
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.
Hm, this is unfortunate. SVN access would have been great to easily integrate certain directories into our tree. I don't think this really need to provide read/write access, perhaps exporting it read-only would be easier?
read-only (in the sense that changes on svn would not be automatically propagated on git) is possible, see: http://marc.info/?l=git&m=122504133928573&w=2 See also: http://google-opensource.blogspot.com/2008/05/export-git-project-to-google-c...
For that we would need: - decide which branch or branches will be exported to svn (it looks like you need one svn repo per git branch) - a place for the svn repo (I don't know how easy or difficult would be to add it to sip-router.org) - some tested script that would automatically (on git push) or periodically (cron) push the changes to the svn repo (git svn dcommit).
So volunteers would be highly appreciated :-)
In the meantime for everyday use see: http://git.or.cz/course/svn.html
Andrei
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-go... 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@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev