Rather than checking whether the destination directory exists and cloning based on that, use the git package to open the repo and handle its error by cloning.
Might already be implemented, needs checking. Would likely be in
git/git.go
starting from the exported fetch function
Amolith referenced this ticket in commit c199e0c.