well if you use a knife to stab your fingers that's not a knife's fault
repo can also rewrite existing commit and you again won't be able to retrieve it so switching to commit IDs only lowers the level of failure somewhat