Another approach, which is perhaps better when you have changed lots of files, is to use vendor branches and merging. It is difficult but, once you get the hang of it, can make an otherwise unmanageable situation manageable.
I've written up how we manage the process on the Sloan project here: https://openacs.org/new-file-storage/one-file?file_id=396.