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 clonefollowed first by agit checkoutof the branch (MIG_GIT_BRANCH) and second agit checkoutof 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_REVit will effectively silently switch to the corresponding branch and revision. That becomes particularly confusing when using python3-only containers where theexperimentalbranch 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_BRANCHandMIG_GIT_REVdon't match up.