2010-05-30 17 views
7

neden aynı dosyanın SHA-1 karma pencere ve msysgit Git Bash içinde iki tamamen farklı SHA-1 karma üreten işlem aynı makinede?Neden windows veya linux altında aynı dosya için farklı bir SHA-1?

SHA-1 algoritması tüm işletim sistemleri aynı dosya için aynı karma üretmek amaçlı olduğunu mu? Bir msysgit en Git bash pencereler İç
Dosya hello.txt
22596363b3de40b06f981fb85d82312e8c0ed511

(aynı makine, aynı dosya):

$ git karma-nesne hello.txt (HashCheck ile) pencereler üzerinde


3b18e512dba79e4c8300dd08aeb37f8e728b8dad

+1

satır sonları? ... –

+0

metin dosyası satır sonları doğru kabul edilir. Bkz. Http://help.github.com/dealing-with-lineendings/ - NB Bu, * nix kullanıcıları için de geçerlidir! –

cevap

10

Git SHA-1 hesaplamadan önce a header ("damla", uzunluk, daha sonra boş) eklenir. Git dışından hesaplamanın nasıl yapılacağı hakkında bilgi için bkz. this blog post. Sonra doğru o zaman Git yapılandırırsanız

+0

Çok teşekkür ederim Matthew! aka YAPIN: eğlenceli hikaye burada cevap okuduktan sonra tam olarak çevrimiçi anı okumaya başladı ben Amazon ;-) Pro Git kopyamı aldığını dün! –

İlgili konular