I got so busy with Prison Architect and the Rubble encoder that I didn't get anything done with tag-wise diffs, but that's next on my todo list
For now a few thoughts:
Any such system need to keep objects in mind, this should be easy once a list of all object types is compiled (I know I have one somewhere...)
Line numbers are of no consequence, tag order matters much more.
Modders should spend much less time tacking new stuff to existing files and just add a new file :p
Maybe it would be better to make a programmable raw parser with an easy to use command system that allows you to add tags to an object with one line, oh wait:{SHARED_OBJECT_ADD;TEMPLATE_WOOD;[REACTION_CLASS:WOOD_MAT]}.
Too bad that Rubble template requires a special set of raws to work, maybe with a good parser/diff system I can relax that requirement
The more I think about it the less useful a traditional diff system looks, there is just too many problems associated with merging many mods without requiring user interaction, traditional diffs are just to fragile. Maybe I can come up with something useful and generic, I guess there is no way to know without trying