A number of upstream git repos we build from are transitioning "master"
branches to "main" branches. They're doing this and removing the old
name.
The scale of the problem this causes us is only just becoming apparent.
iso-codes did this, I tested a patch to update master-next. Everything
was fine until I did this as DL_DIR has "master" in it.
After I tested the change in master-next, the new main branch was added
to DL_DIR and the old master branch was removed. This broke master
which now no longer had the correct source in the mirror or from
upstream. It will have also broken dunfell and perhaps a number of
other releases. Those do have sources from the release period we could
use but they're not configured to fall back to them at present (they
probably should be?).
I'm a little confused; is the old SHA1 not an ancestor of the
new branch head? I would have expected the required SHA1 to be
in DL_DIR just the same as if the master branch head had moved?
Is this caused because the SRC_URI specifies a branch and the
fetched only downloads that specific branch from upstream? If a
branch is specified, should that be encoded in the DL archive
somehow?
I suspect this is going to be a growing trend so we're going to have to
adapt our mirroring to cope better with this, perhaps by not removing
any branches/heads, only every updating/changing.
I wanted to give people a heads up that this is going to be an
increasing problem.
Cheers,
Richard