git is the solution, not the problem.
1. A good enough diff/merge tool for common non-text documents 2. A good enough interface to git
The problem with git is that it has to do a 3-way merge. But there is much more data. Basically every keypress can be recorded and taken into consideration by the merge algorithm.