Я слышал дискуссию о том, как файлы OpenOffice (ODF) представляют собой сжатые zip файлы XML и других данных. Поэтому внесение незначительных изменений в файл может потенциально полностью изменить данные, поэтому дельта-сжатие не работает в системах контроля версий.
Я провел базовое тестирование в файле OpenOffice, разархивировав его, а затем переставив его с нулевым сжатием. Я использовал утилиту zip Linux для тестирования. OpenOffice все равно с радостью откроет его.
Так что мне интересно, стоит ли разрабатывать небольшую утилиту для работы в файлах ODF каждый раз перед тем, как я начну использовать контроль версий. Любые мысли об этой идее? Возможные альтернативы?
Во-вторых, что было бы хорошим и надежным способом реализовать эту небольшую полезность? Bash оболочка, которая вызывает zip (возможно, только Linux)? Python? Вы можете думать о каких-либо проблемах? Очевидно, я не хочу случайно искажать файл, и есть несколько способов, которые могут произойти.
Возможные ошибки, о которых я могу думать:
- Недостаточно места на диске
- Некоторые другие проблемы с разрешениями, которые предотвращают запись файла или временных файлов
- Документ ODF зашифрован (возможно, он должен просто оставить его в покое, что, вероятно, также приводит к большим изменениям файла и, таким образом, предотвращает эффективное дельта-сжатие)