Skip to content
This repository has been archived by the owner on Jul 30, 2022. It is now read-only.
leedm777 edited this page Jan 24, 2013 · 9 revisions

This repository contains a fork of PJSIP, for use with Asterisk. This fork should be temporary, with all changes pushed upstream for inclusion.

If you have any problems with the packaging or other changes made in this fork, please file an issue using GitHub Issues.

The primary goal of this fork is to create a package-able build of PJSIP that's acceptable to the distributions. Since we don't want to maintain the fork forever, we need to be able to clearly identify different patches, and their purposes.

The upstream branch will contain the pristine sources from PJSIP. Since the PJSIP source contains empty directories, a .keep file should be added to the directory in order to track it in git.

The patch/* branches contain our patches to PJSIP. Each patch branch

The master branch is then simply the upstream branch with all of the patch/* branches merged.

To import an updated version of PJSIP:

  1. Import new sources into upstream
$ git checkout upstream
$ git pull
$ rm -rf *
$ tar --strip-components 1 -xjf pjproject-2.0.1.tar.bz2
$ find . -name .git -prune -o -type d -empty -exec touch {}/.keep \; # keep empty dirs
$ git add -A
$ git commit -m "Import pjproject-2.0.1"
$ git tag -a pjproject-2.0.1 -m "tag upstream pjproject-2.0.1"
$ git push
$ git push --tags
  1. Rebase patch/* branches for new upstream
$ git checkout patch/foo
$ git pull
$ git rebase upstream
# fix conflicts
$ git push --force
  1. Merge patch/* into master
$ git checkout master
# You may want to pull and tag, in order to not lose what's on master
$ git reset --hard upstream
$ git merge --no-ff patch/foo # do for each patch/* branch
# when all patches are merged and conflicts resolved
$ git push --force
Clone this wiki locally