I stumbled upon an old blog post suggesting this, unfortunately only as an unimplemented idea. Has this been done meanwhile / how can it be achieved? (I heard TortoiseGit might do this, but I'm running Linux)
An alternative could also be the re-zip approach mentioned here, suggesting a git filter which tracks the uncompressed OpenDocuments and recompresses them on checkout, which would offer the option to at least merge (and diff) the xml contents instead of binary garbage (or the lossy odt2txt), however I didn't find any updates on this approach either, the last post about this warns about potential flaws in this approach.
Inspired by twalberg's comment I wrote to simple scripts
od2fod
andfod2od
which use the--convert-to
parameter of Libre/OpenOffice in order to convert the zipped xml into an uncompressed one and vice versa. Due to a bug denying CLI actions when the LibreOffice GUI is running I had to write the workaroundloInstance
:od2fod
andfod2od
are simple, though:and
One could now setup a
clean
andsmudge
filter in.gitattributes
, however I notice LO keeps track of superfluous meta-data which brakes theclean-smudge
circle. So for now this can only be used as a imperfecttextconv
tool forgit-diff
...