Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
git:kamailio-repository [2008/11/20 14:51]
miconda created
git:kamailio-repository [2010/03/31 18:38] (current)
miconda
Line 1: Line 1:
 ====== Hacking Kamailio with Git ====== ====== Hacking Kamailio with Git ======
  
 +===== Development version =====
 +
 +Since version 3.0.0, the development version of Kamailio is the master branch of sip-router.org GIT repository. Therefore is the same source code for Kamailio (OpenSER) and SIP Express Router (SER).
 +
 +Fetch the GIT master branch as usual:
 +
 +<code>
 +git clone --depth 1 git://git.sip-router.org/sip-router kamailio
 +cd kamailio
 +</code>
 +
 +If you have a developer account, then you can use:
 +
 +<code>
 +git clone --depth 1 ssh://account@git.sip-router.org/sip-router kamailio
 +cd kamailio
 +</code>
 +
 +To compile and install the Kamailio flavour, do:
 +
 +<code>
 +make FLAVOUR=kamailio cfg
 +make all
 +make install
 +</code>
 +
 +===== Kamailio 3.0.x =====
 +
 +The version 3.0.x resides as branch **kamailio_3.0** in sip-router.org GIT repository.
 +
 +Fetch it via:
 +
 +<code>
 +git clone --depth 1 git://git.sip-router.org/sip-router kamailio-3.0
 +cd kamailio-3.0
 +git checkout -b kamailio_3.0 origin/kamailio_3.0
 +</code>
 +
 +If you have a developer account, then you can use:
 +
 +<code>
 +git clone --depth 1 ssh://account@git.sip-router.org/sip-router kamailio-3.0
 +cd kamailio-3.0
 +git checkout -b kamailio_3.0 origin/kamailio_3.0
 +</code>
 +
 +Installation is straightforward, the flavour is by default kamailio:
 +
 +<code>
 +make all
 +make install
 +</code>
 +
 +===== Backport patches to Kamailio 3.0.x =====
 +
 +Fetch the development (master) branch with your developer account.
 +
 +Update the code, then do the local commit. Note that small commits are preferred (more smaller commits are better then a huge commit touching multiple modules or 
 +adding multiple features or fixes). Please make sure you read first the [[devel:git-commit-guidelines|Git Commit Guidelines]] and the [[git:commit-into-master|Git Push into master HOWTO]]. If this is the first time you contribute code to the project then please read also [[:coding_style|Coding Style]].
 +
 +<code>
 +git add files_that_you changes # use git status or git diff to see them
 +git commit
 +</code>
 +
 +Upload to remote repository:
 +
 +<code>
 +git push origin master:master
 +</code>
 +
 +If git push fails it usually means someone updated master in the meantime and you should rebase on the latest version and retry the push:
 +
 +<code>
 +git fetch origin
 +git rebase origin/master
 +git push origin master:master  # if it fails repeast from git fetch
 +</code>
 +
 +
 +
 +Fetch in your kamailio 3.0 branch, in case you have two directories (otherwise, you can just check out the kamailio_3.0 branch):
 +
 +<code>
 +cd /../kamailio-3.0
 +git checkout kamailio-3.0
 +git pull --rebase origin kamailio-3.0
 +</code>
 +
 +Use cherry pick to get the commit from master applied to kamailio_3.0 branch:
 +
 +<code>
 +git cherry-pick -x [commit_to_master_hash_id]
 +</code>
 +
 +For example:
 +
 +<code>
 +git cherry-pick -x 7b8b6f647365655afa210f5e95baef06398ef612
 +</code>
 +
 +A quick way to check for the master hash id is:
 +
 +<code>
 +git fetch origin # if you are using a different directory for kamilio-3.0
 +git log --oneline origin/master
 +</code>
 +
 +Then upload to remote repository in kamailio_3.0 branch:
 +
 +<code>
 +git push origin kamailio_3.0:kamailio_3.0
 +</code>
 +
 +If push fails, rebase and try again:
 +
 +<code>
 +git fetch origin
 +git checkout kamailio_3.0
 +git rebase origin/kamailio_3.0
 +git push origin kamailio_3.0:kamailio_3.0
 +</code>

Navigation

Wiki

Other

QR Code
QR Code git:kamailio-repository (generated for current page)