code: func (c *Commit) PatchContext(ctx context.Context, to *Commit) (*Patch, error) {
  	fromTree, err := c.Tree()
  	if err != nil {
  		return nil, err
  	}
  
  	toTree, err := to.Tree()
  	if err != nil {
  		return nil, err
  	}
  
  	return fromTree.PatchContext(ctx, toTree)
  }
docs: // PatchContext returns the Patch between the actual commit and the provided one.
  // Error will be return if context expires. Provided context must be non-nil.