It doesn't really make sense to have a default branch, since we expect people to have multiple roots. Thus, require a branch specification always.
HEAD in git describes a working copy, and we don't have those. Instead, default to a "master" branch. This also lets us support multiple branches.
It just sounds better.