I keep wp-content and wp-config.php outside the wordpress tree and store everything in a git repository. This should make the update of the core very simple. I just need to remove the wordpress directory, unpack the distribution archive and commit the wordpress directory.
However, as I use the Russian wordpress distribution that comes with translation files stored under wordpress/wp-content/languages, the above is not enough. I have to deal with the fact that wordpress looks for language files for the core under wp-content which is at my custom location and is not affected by the upgrade.
As a workaround currently I put symlinks into my custom wp-content/languages directory that points to files at the original wp-content that comes with core, see https://github.com/ibukanov/hippyru-softlib/tree/1956aacc8ab8ef93eb74ba69557cf7dbe3608bb7/web/wordpress/wp-content/languages . That works, but still requires that I review the symlinks to make sure that they are valid after the wordpress update.
What is ideal is to configure wordpress in wp-config.php to use 2 language directories that are looked up in turn when wordpress needs to access a translation file. Is it possible?