> This totally breaks a fundamental notion in Git that the same work, based on the same commits, has the same hash.
This is not a fundamental notion in git. The hash includes timestamps as well.
edit:
It also contains author and commiter details. Here's a slightly revised list borrowed from a blog post[1]
- commit message
- The file changes
- The commit author (and committer- they can be different)
- The date
- The parent commit hash(es)