In the few months since I moved to openSUSE, I've been running software from both the official repositories as well as repositories I added manually. I got the hang of that, but today I did something more unusual which I have some confusion about. I decided to upgrade to KDE 4.9.5 on my openSUSE 12.2 machine, by adding a custom repository from openSUSE providing this version. I noticed however in Yast that simply updating packages to that repository wouldn't do anything. Instead, I had to click a special link saying "Switch system packages to the versions in this repository". The upgrade was then successful.

Firstly, what's different between using "All in This List" -> "Update if newer version available" (which didn't find new versions for the KDE packages) and using "Switch system packages to the versions in this repository" (which worked)? Are system packages under a special regime? If so, what is it exactly and how does that work?

The most important question however is if this will affect what happens when openSUSE 12.3 comes out, and I'll be using its DVD to upgrade my installation. Since I switched some system packages to another repository, will that cause distro upgrades to risk going wrong and breaking? In my case with KDE: openSUSE 12.2 offers KDE 4.8 in its latest Update repository, and openSUSE 12.3 will have KDE 4.10 that it will upgrade to. But since I upgraded to 4.9 along the way and switched KDE packets to another repository, can that cause the 12.3 installer to no longer put 4.10 in and even leave me with a broken system? Or will it undo my repository change and switch system packages back to the official openSUSE repos (in which case I can manually switch them to the next version of KDE again if needed)?