Git Branches

We have five branches:

  • The master branch contains the most advanced development that is kinda stable but might break things
  • The master-tx is based on master and includes translations from Transifex
  • The xxx-stable branches contain unreleased fixes for already released versions (xxx is replaced by the release version number this branch is based on)
  • The merge-queue branch contains additions that should be added to master after that branch gets unfrozen. This branch is only used during freeze.
  • The stable-queue branch contains minor new additions that should be added to the next stable release.

When Lennart rolls a new release this is what he does:

  • If it is a new feature release he merges master-tx into master and tags and releases this. Then he updates master-tx from master and merges merge-queue into master.
  • if it is a bugfix release he merges the stable-queue and the last xxx-stable branch (plus master-tx if it didn't deviate too much) and releases this.

Patches should be merged like this:

  • If its new big development, the code should be commited to master, unless we are in freeze in which case it should be merged into merge-queue
  • If it is translation coming from Tx, it is merged into master-tx
  • If it is a bugfix it should be merged into the latest xxx-stable and master
  • If it is a minor new addition it should be merged into stable-queue and master

Here's what distributors should look at:

  • Always take the latest official release and look at patches from the xxx-stable branches to merge on top.
  • Distributors should ignore the master, master-tx, merge-queue and stable-queue branches.

Release Cycle

Given that the core developer of PulseAudio works for Red Hat and thus also works on the Fedora distribution the PulseAudio development cycle roughly follows the Fedora cycle. Expect feature releases shortly before the Fedora development freeze time followed by a few smaller bugfix releases until the distribution is fully released. However, expect exceptions from this rule.