Earlier quoted context omitted.
You are technically correct. In reality though you can't expect programmers to code for eventualities that occur only in extremely rare cases (until now).
It's less rare than you think. Lots of repos use "develop", or "trunk" as their default, for instance.
But how many of those don't have a "master" branch at all?