Sometimes, when a new kernel or application that I use a lot comes out, I want to quickly download and test it on my system. It is simple enough to edit /etc/pacman.conf and enable the testing repositories, then update your system. Problem is, enabling the testing and/or community-testing repos at their default position will update all packages which have versions in testing.
If you put the
[community-testing] repos after
[community] accordingly. This will tell pacman to prefer the stable versions of packages. Running
pacman -Syu will result in the same set of packages as before.
Once pacman is configured with the testing repositories enabled as described above, you can selectively run versions of applications that are in testing with all of their testing dependencies without messing about. If you want to install a package from the testing repository, you simply prefix it with the repository's name. Here is an example:
Linus releases a new kernel and you have read that it fixes some bug that has been plaguing you for months. It's in
[testing], but you just can't wait. You can:
Go to the Arch packages site and manually download the .pkg.xz files of the kernel and all it's dependencies, then install them with pacman -U.
[testing]repo and run an update. This might give you a lot more than you bargained for.
If you configured pacman as I described above, you can simply run
pacman -Syu testing/linux
If you have already installed a package which requires an older package than the one you are instaling, pacman will prompt you with the problem like this
error: failed to prepare transaction (could not satisfy dependencies) :: nvidia: requires linux
You can usually sove this by installing a newer version of that dependency. The solution in this case is to also install the nvidia package from testing:
pacman -Syu testing/linux testing/nvidia
Now It should go through.
Disclaimer: Obviously running something from testing is done at your own risk. Be sure to read up on the repositories you enable here: https://wiki.archlinux.org/index.php/Official_Repositories