code: func NewCommitFileIterFromIter(fileName string, commitIter CommitIter, checkParent bool) CommitIter {
  	iterator := new(commitFileIter)
  	iterator.sourceIter = commitIter
  	iterator.fileName = fileName
  	iterator.checkParent = checkParent
  	return iterator
  }
docs: // NewCommitFileIterFromIter returns a commit iterator which performs diffTree between
  // successive trees returned from the commit iterator from the argument. The purpose of this is
  // to find the commits that explain how the files that match the path came to be.
  // If checkParent is true then the function double checks if potential parent (next commit in a path)
  // is one of the parents in the tree (it's used by `git log --all`).