Junio C Hamano [off-list ref] writes:
But I still do not think this loop is correct. In a repository that
has a working tree, you would learn that directory $D has $D/.git in
it, feed $D to handle_repo(), and then descend into $D/.git/objects/,
$D/.git/refs, and other random directories to see if you can find
other repositories....
Ahh, no, you don't.
I still think calling is_git_directory() on $D + "/.git" would be a
better implementation, though.