Git uses file meta-data to avoid it has to read file content for detecting modifications. This seems a simple idea but getting the Java implementation in JGit right was a lengthy endeavour.
Slides
Matthias Sohn, Gerrit Contributor and Community Manager