title: how does git log --follow <filename> work?
body: <p>Im trying to pick an id for a file's history -- i'd like it to be or refer to the "object" whose details <code>git log --follow &lt;filename&gt;</code>. I'm wondering:</p>
  
  <p>How does git know that one file is a variant of another across subsequent commits? The name being the same is a strong hint, of course, but it also tracks renaming on commit. Does it keep the results of its calculations somewhere for git log to refer to (where?), or does git log repeat these calculations every time? (And what calculations are these?)</p>
  
  <p>Ideally I'd like to access or recreate the history (list of commits/blob shas) with nodegit.</p>