in make-util.js [848:910]
var getRefs = function () {
console.log();
console.log('> Getting branch/commit info')
var info = { };
var branch;
if (process.env.TF_BUILD) {
// during CI agent checks out a commit, not a branch.
// $(build.sourceBranch) indicates the branch name, e.g. refs/heads/releases/m108
branch = process.env.BUILD_SOURCEBRANCH;
}
else {
// assumes user has checked out a branch. this is a fairly safe assumption.
// this code only runs during "package" and "publish" build targets, which
// is not typically run locally.
branch = run('git symbolic-ref HEAD', /*inheritStreams*/false, /*noHeader*/true);
}
assert(branch, 'branch');
var commit = run('git rev-parse --short=8 HEAD', /*inheritStreams*/false, /*noHeader*/true);
var release;
if (branch.match(/^refs\/heads\/releases\/m[0-9]+$/)) {
release = parseInt(branch.split('/').pop().substr(1));
}
// get the ref info for HEAD
var info ={
head: {
branch: branch,
commit: commit,
release: release
},
releases: { }
};
// get the ref info for each release branch within range
run('git branch --list --remotes "origin/releases/m*"', /*inheritStreams*/false, /*noHeader*/true)
.split('\n')
.forEach(function (branch) {
branch = branch.trim();
if (!branch.match(/^origin\/releases\/m[0-9]+$/)) {
return;
}
var release = parseInt(branch.split('/').pop().substr(1));
// filter out releases less than 108 and greater than HEAD
if (release < 108 ||
release > (info.head.release || 999)) {
return;
}
branch = 'refs/remotes/' + branch;
var commit = run(`git rev-parse --short=8 "${branch}"`, /*inheritStreams*/false, /*noHeader*/true);
info.releases[release] = {
branch: branch,
commit: commit,
release: release
};
});
return info;
}