<a href="https://github.com/TomasHubelbauer/modern-office-git-diff" rel="nofollow">https://github.com/TomasHubelbauer/modern-office-git-diff</a><p>Hey everyone, I made this tool which allows one to use it as a Git hook which will then extract modern Office files (ZIP archives of XML files) to directories named by them and take advantage of GitHub/GitLab/Whatever's online diff when inspecting PRs and commits to a repository.<p>Diffing Office files was not an unsolved problem before, I cite some prior art, but I've decided to take a different route by tracking both the compressed binary files and the uncompressed plain text files in a folder in the repository. This way the diffs can be viewed in online Git hosting services.<p>I document features and drawbacks of this approach in my repo. It's certainly not efficient, but it solves a different need (the ability to get to the diff in minimal amount of steps) than other solutions and that's why I found it interesting to work on.<p>Diffs of both the actual XML files (all information, but too much cruft to get a mental picture of the files text content) and TXT files that contain only concatenated text node values of the files in order to get a view of content changes only are available.<p>In the future I'll work on making this tool faster by skipping unchanged files instead of regenerating them each file, making this suitable for Git repos that track a large number of Office files. I won't worry about the space inefficiency, because I think Git does a good job of compressing the plain text files anyway and there's not much that can be done in this regard on top of that because of the way the tool works.