Сохраняйте различия двоичных файлов в Git с помощью rdiff-backup или аналогичного инструмента
Я прочитал несколько тем о хранении двоичных файлов / блобов в Git и понял, что это не очень хорошая идея, и не нашел никакого хорошего подхода.
Я хотел бы сделать Git
создавать git-объекты - diffs бинарных файлов - с помощью специального инструмента, т.е. rdiff-backup
,
Является ли это возможным? Как?
1 ответ
Дело в том: git
не хранит различия, он хранит простые файлы (см., например, книгу Pro Git).
Для хранения: через некоторое время (или после звонка git gc
), он пытается упаковать подобные файлы в packfile ( см. здесь), где он каким-то образом использует diff между двумя файлами.
Я не знаю, сможете ли вы подключиться к созданию packfile с помощью какого-нибудь внешнего плагина.
Вы также должны были бы подключиться к обнаружению сходства git между файлами, которое в значительной степени зависит от обнаружения похожих строк (например: куски байтов, разделенные '\n'
)