Yeah.....so, part of the problem is that somebody tried to branch a file back 3 months ago, without using branching, just in a new file in the same folder, with a slightly different name, but not referenced in the code anyone else was working on.
He did some tinkering on that code, while the in-use code saw quite a few revisions itself, but more bugfix-level stuff.
This does not look like it'll be fun to re-merge......