> ....merging the two (in either direction) would be non-trivial, to say the least.
My initial thought on reading this is that this sounds like exactly the sort of thing that gits after-the-fact detection of code movement in and between files would really help with.
Has anyone given any serious thought into trying this? This sounds like just the type of thing to interest the core git developers. And once you get them interested in a challenge things can get quite interesting :-)