> архиватор, который дает одинаковые контрольные суммыЯ подозреваю тебя тут кусают в зад твои вольные формулировки. Архиватор не даёт контрольных сумм, контрольные суммы считаются другими утилитами. Что архиватор может дать этим утилитам -- это совпадение файла бит-в-бит. Но смысла тогда в настройках сжатия, если вне зависимости от них, результат не меняется?
Внешние утилиты могут считать контрольные суммы так, чтобы они оставались бы неизменными вне зависимости от архиватора. Можно контрольную сумму считать распаковывая, прогоняя через tar или любой другой сериализатор, чтобы объединить всё в один блоб, и считать sha512 по результату. Но чтобы этот блоб получался одинаковым бит-в-бит, придётся всё распаковать на диск, после чего упаковать приводя к каноническому виду. Это не получится делать потоковым пайплайном, потому что архиватор может в разном порядке файлы упаковывать, и надо сначала распаковать, потом упаковать, упорядочивая файлы (включая всякие тонкости, типа симлинков) канонично.
Хотя, если так подумать, можно разработать какую-нибудь хеш-сумму, которая будет хеш-суммой хеш-сумм отдельных файлов, и не зависеть от порядка следования этих файлов. То есть можно что-нибудь потоковое придумать, да. То есть github зря прогнулся. Если бы он не прогнулся, то был бы повод разработать утилиту/библиотеку, которая в каком-то там простом виде принимает потоком неупорядоченную последовательность файлов, а на выходе выдаёт хешсумму, которая не зависит от порядка файлов и всяких сопутствующих факторов, типа хардлинков или что там ещё бывает.