Basically, we have a branch (call it B, it contains some branch specific code) which needs to be merged with HEAD. The problem we're having is that the branch was created long time ago. Since then, HEAD has been updated many times with lots of new features and many bugs have been fixed. The B branch still has most of the bugs already fixed in HEAD and it lacks some features. So, what needs doing is to take some features of branch B (there are probably about 50 files that contain new functionality - I don't know exactly what these files are) while leaving the rest of HEAD intact.
Currently, the merge tool in Eclipse reports more than 1700 changes, doing automatic merge overwrites code in HEAD with that from the branch (thus, introducing back bugs that have already been fixed). Is there a better way to tackle this instead of going through all the 1700 changes and manually merging them?