This is basically a cultural/philosophical thing.
The UNIX philosophy is to design programs that can work together. One component of that is to prefer text-based file formats.
Most publishers of windows-based programs seem to shun cooperation outside of their own. So undocumented binary file blobs are the rule rather than the exception. The usually unstated goal is vendor lock-in.
If you didn't make a change but it still shows a difference after opening it that could be an internal timestamp in the file, or the access time in the filesystem. In that case I would just do a git checkout
of the file.
After intense market pressure, microsoft moved to an XML-based file format. A modern office document is basically a bunch of XML files packed up into a zip-file.
So a possible way to make Office files more readable for git
would be to use filters to make something legible out of a diff. The git attributes page in the git book gives an example for docx
files.
It seems that there is an equivalent program for powerpoint slides. So you could install that to make sense of the diffs in pptx
files.
Another option would be to write a program that given the paths of two pptx files extracts them (since they are basically zip files), uses something like xmllint
to format the XML files and then uses a recursive diff to find out what's changed.