I've come across a situation that I'm not too sure on how best to recover from. A developer had created a branch from a very old version of "master". After realising, they merged the master branch in to their new branch. After a couple of weeks of work done on this branch, they are trying to merge it back in to master. It's producing thousands of changed files in the diff, showing that hundreds of files have been added or deleted.
Am I write in thinking the best way to recover from this is to make a new branch based off master, and cherry pick their commits (oldest commits first) over to the new branch?