Pass a long slab of args as a struct instead, for legibility
Do not break if a dir is not a git repo, just return false