Why Git commits use 40-character hexadecimal strings — Sparklet