Migrating to Git
This tutorial is addressed to the entire OpenSIPS community, both developers and users. It aims to help you migrate to one of our New Repositories, depending on your preferences and needs.
I am a Read-Only User...
In order to keep your sources up-to-date we strongly recommend you to configure your SVN repository to point to the new SourceForge SVN repository. This can be achieved using the
Example: to migrate an old OpenSIPS 1.9 SVN checkout to the new SourceForge SVN repository you can use:
or (if previous command returns
After changing the SVN URL, you will be able to pull the updates from SourceForge in the same way you were doing until now, using the
You will still be able to do a SVN checkout on the new SourceForge repository. However, you should strongly consider the migration to a git repository, since on long term we are planning to move completely on GitHub, and the repository might become obsolete.
Example: if you want a fresh checkout of the 1.9 branch, you should use:
This is the option we recommend. If you are not that familiar with git, we recommend you to go through the official Git Manual.
Example: in order to do a new clone of the 1.9 branch, you can do:
I am a Developer...
Important: starting with the migration, you will no longer be able to use SVN to push changes to OpenSIPS. Since the Git versioning system is a bit different than SVN, we strongly recommend you to go through the Git Official tutorial. The following tutorial contains a few steps.
In order to commit on the new Git repository, you first have to clone it. Important: in order to push your changes on the GIT HTTPS repository, your GIT version has to be greater than 1.7.10. A different option is to initially clone the GIT SSH repository, so your push will be authenticated by ssh.
Example: in order to clone the 1.9 branch, you have to run:
or (for git versions lower than 1.7.10)
Make the necessary changes and then commit them on your local repository:
Example: commit the changes on the
Ensure that your repository is up-to-date - fetch any changes (and also rebase).
Example: to fetch the changes from 1.9 branch of the
Push your changes upstream.
Example: to push the changes from the local branch to the remote 1.9 branch of the