Мне просто интересно, почему этот выбор был сделан - в основном это исключает изменение алгоритма сжатия, используемого Git, потому что он не использует SHA1 необработанных капель. Возможно, здесь есть соображение эффективности. Возможно, ZLIB быстрее сжимает файл, чем алгоритм SHA1 при создании хэша, поэтому сжатие перед хешированием происходит быстрее?
Вот ссылка на оригинал Git READMEby Linus: http://git.kernel.org/?p=git/git.git;a=blob;f=README;h=27577f76849c09d3405397244eb3d8ae1d11b0f3;hb=e83c5163316f89bfbde7d9ab23ca2e25604af290
И вот ссылка:
"В коллекции, адресующей контент, есть несколько видов объектов база данных. Все они дефлируются с помощью zlib и начинают с тега своего типа, а также информацию о размере данных. Хэш SHA1 всегда является хешем сжатого объекта, а не оригинальным.