type Cloner … // ClonerUsingGitExec uses a local git install, as opposed // to say, some remote API, to obtain a local clone of // a remote repo. func ClonerUsingGitExec(repoSpec *RepoSpec) error { … } // DoNothingCloner returns a cloner that only sets // cloneDir field in the repoSpec. It's assumed that // the cloneDir is associated with some fake filesystem // used in a test. func DoNothingCloner(dir filesys.ConfirmedDir) Cloner { … }