Previously, when not inside a Git repository,
or when inside a Git repository is not connected to a remote,
rpkg-based tools have required manually specifying --release option.
This is quite unwieldy, even though such use is quite common.
For example, initial work on new packages is often done without source control,
or only with local source control.
Allow downstream tools to define a default release,
to be used when there is no Git repository.
In Fedora, for example, this can be defined as rawhide,
which exactly matches the Fedora principle of making modifications in Rawhide first.
Downstreams define the default branch name by overriding the default_branch_merge() method.
The default implementation raises an exception, which matches the earlier behavior.
Previously, when not inside a Git repository,
or when inside a Git repository is not connected to a remote,
rpkg-based tools have required manually specifying
--releaseoption.This is quite unwieldy, even though such use is quite common.
For example, initial work on new packages is often done without source control,
or only with local source control.
Allow downstream tools to define a default release,
to be used when there is no Git repository.
In Fedora, for example, this can be defined as
rawhide,which exactly matches the Fedora principle of making modifications in Rawhide first.
Downstreams define the default branch name by overriding the
default_branch_merge()method.The default implementation raises an exception, which matches the earlier behavior.
Fixes #635