During build we currently make a git clone followed first by a git checkout of the branch (MIG_GIT_BRANCH) and second a git checkout of the revision (MIG_GIT_REV). While that sort of works for the general case it has the annoying side effect that if a revision not on the chosen branch is given as MIG_GIT_REV it will effectively silently switch to the corresponding branch and revision. That becomes particularly confusing when using python3-only containers where the experimental branch is currently strictly required, because it will then lead to confusing build errors e.g. when python3 is applied to the python2-only configuration generator.
We should look into a better way to pick exactly the right branch and revision or add a simple test to bail out early if MIG_GIT_BRANCH and MIG_GIT_REV don't match up.
During build we currently make a
git clone
followed first by agit checkout
of the branch (MIG_GIT_BRANCH
) and second agit checkout
of the revision(MIG_GIT_REV
). While that sort of works for the general case it has the annoying side effect that if a revision not on the chosen branch is given asMIG_GIT_REV
it will effectively silently switch to the corresponding branch and revision. That becomes particularly confusing when using python3-only containers where theexperimental
branch is currently strictly required, because it will then lead to confusing build errors e.g. when python3 is applied to the python2-only configuration generator. We should look into a better way to pick exactly the right branch and revision or add a simple test to bail out early ifMIG_GIT_BRANCH
andMIG_GIT_REV
don't match up.