Существуют форматы, которые на самом деле являются замаскированными zip-файлами, например docx или odt. Если я храню их непосредственно в системе контроля версий, они обрабатываются как двоичные файлы. Моим идеальным решением было бы
foo.docx /
для каждого foo.docx
файлов перед фиксацией, при необходимости распаковывая все файлы в него foo.docx
из сохраненных файлов после обновления Я не хочу, чтобы сами файлы docx контролировались версиями. (Мне известно о вопросе , где был предложен другой подход с настраиваемым различием.)
Выполнимо ли это? Можно ли это сделать с помощью Mercurial?
ОБНОВЛЕНИЕ:
Я знаю о крючках. Меня интересует конкретика. Вот сеанс, демонстрирующий ожидаемое поведение.
> hg add foo.docx
> hg status
A foo.docx
> hg commit
> # Change foo.docx with external editor
> hg status
M foo.docx
> hg diff
+++ foo.docx/word/document.xml
- An idea
+ A much better idea