Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
git:sip-router-repository [2008/11/30 12:00] 77.81.1.120 |
git:sip-router-repository [2012/12/11 16:53] (current) oej old revision restored |
||
---|---|---|---|
Line 3: | Line 3: | ||
====== SIP-ROUTER Git Repository ====== | ====== 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. | + | 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): | + | To clone the repository using Git protocol do (recommended for |
+ | read-only access): | ||
< | < | ||
git clone git:// | git clone git:// | ||
Line 15: | Line 20: | ||
</ | </ | ||
- | If you have write access to the repository and access to the git host then you can checkout the repository using ssh: | + | 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:// | git clone ssh:// | ||
</ | </ | ||
+ | where username is your username on host git.sip-router.org. Please see | ||
+ | also [[git: | ||
+ | changes. | ||
- | where username | + | After " |
+ | Right now there are 3 important branches in the repository: | ||
+ | - **master** - latest code, all the new development goes here. | ||
+ | - **sr_3.0** - branch for the future | ||
+ | | ||
- | You can also browse the repository through the gitweb WWW interface at http:// | + | If you are interested in a different branch then **master**, you have to use git checkout to change the branch, e.g.: |
+ | < | ||
+ | cd sip-router | ||
+ | git checkout --track -b sr_3.0 origin/ | ||
+ | </ | ||
+ | (replace **sr_3.0** with the desired branch). | ||
+ | The above command will create a local **sr_3.0** branch that will track changes in the remote (repository) | ||
+ | | ||
+ | Note that as an alternative, | ||
+ | < | ||
+ | git clone --branch sr_3.0 git:// | ||
+ | cd sip-router | ||
+ | </ | ||
+ | |||
+ | You need to do all of the above only once. After you already have a " | ||
+ | < | ||
+ | git fetch origin | ||
+ | git pull --rebase origin sr_3.0 | ||
+ | </ | ||
+ | (replace **sr_3.0** with the branch you are on). | ||
+ | |||
+ | |||
+ | You can also browse the repository through the gitweb WWW interface at | ||
+ | http:// | ||
+ | If you prefer you could use cvs instead of git (see below), but it will be significantly slower. | ||
====== Repository Layout ====== | ====== Repository Layout ====== | ||
- | The repository is setup so that you can commit only to the following branches: | + | The repository is setup so that you can commit only to the following |
+ | branches: | ||
* < | * < | ||
* tmp/* | * tmp/* | ||
* master | * master | ||
- | In general you **should not** commit to master. You should use your own branch for work-in-progress and only when you | + | In general you **should not** commit to master. You should use your |
- | think it\'s in a good enough form (it compiles and looks stable), you should merge it to master. | + | 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 ====== | ====== Commit Messages ====== | ||
Line 39: | Line 79: | ||
* start with one short line, preferably less then 50 chars summarizing the changes | * start with one short line, preferably less then 50 chars summarizing the changes | ||
* follow by exactly one empty line | * 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 | + | * then a more detailed description (if necessary), but make sure you don't have lines longer then 72 characters |
+ | |||
+ | Make sure you read [[devel: | ||
- | See also: | ||
- | * [[http:// | ||
- | * [[http:// | ||
Example vim/gvim config additions for git commit messages: | Example vim/gvim config additions for git commit messages: | ||
< | < | ||
- | \" git commits edit | + | " git commits edit |
au BufNewFile, | au BufNewFile, | ||
au BufNewFile, | au BufNewFile, | ||
</ | </ | ||
+ | |||
+ | ====== Commit/push HOWTO ====== | ||
+ | |||
+ | Please see [[git: | ||
====== Merge HOWTO ====== | ====== Merge HOWTO ====== | ||
Line 58: | Line 101: | ||
====== CVS Compatibility ====== | ====== 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: | + | 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: | ||
< | < | ||
Line 65: | Line 112: | ||
</ | </ | ||
- | 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:// | + | 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:// | ||
The most important head names are: | The most important head names are: | ||
* **master** - This is the main development/ | * **master** - This is the main development/ | ||
+ | * **sr_3.0** - This is the (soon to be) stable sip-router 3.0 branch. | ||
+ | * **kamailio_3.0** - This is the kamailio 3.0 stable branch (based on **sr_3.0**). | ||
So if you want to checkout the latest development version then do: | So if you want to checkout the latest development version then do: | ||
Line 83: | Line 135: | ||
</ | </ | ||
- | The cvs compatibility layer does not support tagging and branching, so you would need to use git for that. | + | The cvs compatibility layer does not support tagging and branching, so |
- | + | you would need to use git for that. | |
- | + |