Почему git hash-object возвращает хэш, отличный от openssl sha1?

Контекст: я загрузил файл (Audirvana 0.7.1.zip) с code.google на свой Macbook Pro ( Mac OS X 10.6.6).

Я хотел проверить контрольную сумму, которая для этого конкретного файла записана как 862456662a11e2f386ff0b24fdabcb4f6c1c446a (SHA-1). git hash-object дал мне другой хэш, но openssl sha1 вернул ожидаемый 862456662a11e2f386ff0b24fdabcb4f6c1c446a.

Следующий эксперимент, кажется, исключает любое возможное повреждение загрузки или различия в новой строке и указывает на то, что на самом деле задействованы два разных алгоритма:

$ echo A > foo.txt
$ cat foo.txt
A
$ git hash-object foo.txt 
f70f10e4db19068f79bc43844b49f3eece45c4e8
$ openssl sha1 foo.txt 
SHA1(foo.txt)= 7d157d7c000ae27db146575c08ce30df893d3a64

Что происходит?

43
задан svick 8 May 2011 в 19:14
поделиться