init: optionally create an initial empty commit
If the new setting $Girocco::Config::empty_commit_message is defined
(it can be the empty string) then when creating a new push project,
create an initial commit that has the empty tree and the given
$Girocco::Config::empty_commit_message as its commit message.
What this does is cause a remote client that's cloning the newly
created push project to automatically set up the HEAD symbolic ref
to match whatever the $initial_branch setting has been set to (as
well as suppress the "You appear to have cloned an empty repository."
message).
It's no less convenient for the remote user since the commit has
an empty tree. It may be a bit surprising to find an empty commit
already present. That's why this setting is off by default.
However, when it's important that the $initial_branch setting be
respected by the remote client on a newly created push project,
setting $Girocco::Config::empty_commit_message to any value will
help make sure that happens.
Signed-off-by: Kyle J. McKay <mackyle@gmail.com>