I think that's a fairly standard update under the current system. Notice that pg and NPL update fairly easily, and webwork2 is usually a bit more difficult.
That's what I expect when I do updates.
To get the current revision number use
and look for the revision number #revision.
svn update -r #revision
will restore that version
This gives you a good backup. You can also make a local copy of global.conf in global.save for extra backup.
svn status -u will tell you what files have changed locally and which ones have changed upstream in the repository.
The conflict you saw was most likely because you had locally made that symbolic link and the same symbolic link had been made in the repository. What you did was just what I do in those situations. (While fixing this there was no effect on the behavior of the server. The two links were identical but svn didn't know that.)
If you are cautious and remember you can run check_modules.pl before you first restart the server to check the new update. Usually nothing changes after an svn update until you reboot the server, so you can catch and install missing modules while the system is still operating on the old cached code.
One thing you don't mention is checking to see if there are changes in global.conf.dist which need to be transferred over to global.conf. Frequently this is a prime source of warning messages (and sometimes fatal errors) when you switch over. The new configurations are required before the new features can work. This is one case where changes take place immediately, but usually if you change global.conf before the restart there is no problem because there are only additions to global.conf and they are ignored by the current system.
Expecting 15 minutes of work to get a new version of webwork2 up and running is about right if you are already pretty up-to-date. Notice that the system was probably down for a smaller fraction of that time during the period when you were installing the Lexicon module.