Switching Branches
Overview
One of the many features that sets Manjaro apart from other Arch-based distributions is that it uses its own dedicated software branches, rather than relying on those provided by Arch itself. In fact, to ensure continued stability and reliability, Manjaro actually uses three distinct branches:
- Stable branch: The packages that come to stable have gone through roughly a couple of weeks testing by the users of the Unstable/Testing repos, before they get the packages. These packages are usually free of any problems.
- Testing branch: This is the second line of defense. Being a larger number of users than those using Unstable, they refine the work done prior to them by providing feedback on the packages they recieve on updates.
- Unstable branch: Unstable is synced several times a day with Arch package releases. Only a subset of Arch packages are modified to suit Manjaro. Those that use Unstable need to have the skills to get themselves out of trouble when they move their system to this branch. They are the Manjaro users who are most likely to need to use such skills. Due to the feedback from the users of the Unstable repo, many issues are caught and fixed at this level. Although the very latest software will be located here, using the unstable branch is usually safe but - in rare cases - may cause issues with your system!
Summing up, Manjaro packages start their lives in the unstable branch. Once they are a deemed stable, they are moved to the testing branch, where more tests will be realized to ensure the package is ready to be submitted to the stable branch.
Changing to another branch
In order to access a branch, you need to change your pacman-mirrors configuration.
You should substitute the value colored in green (for illustrative purposes only) to one of the following: stable, testing, unstable.
sudo pacman-mirrors --api --set-branch {branch}
After you changed the branch, rebuild the mirrorlist and update your packages:
sudo pacman-mirrors --fasttrack 5 && sudo pacman -Syyu
Questions
How do I go back after changing to one of the testing branches?
Going back to the stable branch is easy. All you have to do is to repeat the above, and use stable as the branch value.
Be aware that after switching to a more stable branch you will receive messages from pacman, informing about newer packages installed than available in the repo. Don't be alarmed as the situation will resolve itself when the packages reaches your current branch.
If for whatever reason you do wish to also 'downgrade' packages while changing branches add an extra u to the pacman command:
sudo pacman -Syyuu