--- /dev/null
+---
+fixes:
+ - |
+ Address the problem where the tag is not pushed to the mainline
+ branch therefore causing the tag missing in the git history.
+
+ To fix this check commit count between the HEAD and
+ origin/${GERRIT_BRANCH} before the fetch and merge operation.
+ This is done to ensure that the tag lands on the target branch.
+ If the branch has already moved forward from the tagging point,
+ then a spur commit is created for the tag.
fi
git config user.name "$RELEASE_USERNAME"
git config user.email "$RELEASE_EMAIL"
- git push origin "$GIT_TAG"
+ # Check if sentinal file exists
+ if [[ ! -f .testhash ]]; then
+ git push origin "${GERRIT_BRANCH}" "$GIT_TAG"
+ else
+ git push origin "$GIT_TAG"
+ fi
fi
fi
}
gunzip taglist.log.gz
cat "$PATCH_DIR"/taglist.log
popd
- git checkout "$(awk '{print $NF}' "$PATCH_DIR/taglist.log")"
+
+ # compare if the commit sha1 from taglist is the same origin/${GERRIT_BRANCH}
+ # ensure that the tag lands on the target branch
+ # forward from the tagging point, then a spur commit is created
+ # for the tag
+ taghash="$(awk '{print $NF}' "$PATCH_DIR/taglist.log")"
+ if [ "${taghash}" = $(git rev-parse origin/${GERRIT_BRANCH}) ]; then
+ git checkout "origin/${GERRIT_BRANCH}"
+ # sentinal file
+ touch .testhash
+ else
+ git checkout "${taghash}"
+ fi
+
git fetch "$PATCH_DIR/${PROJECT//\//-}.bundle"
git merge --ff-only FETCH_HEAD
nexus_release