code: func (r *Rewriter) cacheEntry(from, to *gitobj.TreeEntry) *gitobj.TreeEntry {
  	r.mu.Lock()
  	defer r.mu.Unlock()
  
  	r.entries[r.entryKey(from)] = to
  
  	return to
  }
docs: // cacheEntry caches then given "from" entry so that it is always rewritten as
  // a *TreeEntry equivalent to "to".