Linux distributions place some important scripts and config files in the skeleton, from where they are copied to each new user's home directory. Ideally system-wide files would be used instead of anything automatically copied to home but this is not always possible or practical. In particular, shell startup scripts are nearly always placed in skel.
This poses problems when packages are upgraded and any changes that need to be done to those scripts are installed in /etc/skel/ but all existing users retain the old versions in their homes, and often the old version causes serious problems with the changed system software.
Those changes would need to be synced to all existing users in an automated fashion. We don't want to overwrite user's own changes, so a simple cp or rsync won't suffice, and ideally we would have auto merging when possible.
My question is, is there any existing clever solution to such syncing? I can write my own Python script but it would be nice if someone else had already sorted out the problems that might occur.
There is a related question regarding a specific setup, with no solution for general purpose syncing:
Adding/updating skeleton files after user creation