From ffa30139cbc23d874034bae7ae9869c2d227b149 Mon Sep 17 00:00:00 2001 From: Bartek Wrona <wrona@syncad.com> Date: Tue, 25 Jun 2024 23:07:55 +0200 Subject: [PATCH] Improved npm dist-tag detection in case when given commits belongs also to master & develop branches. --- scripts/bash/npm-helpers/npm_generate_version.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/scripts/bash/npm-helpers/npm_generate_version.sh b/scripts/bash/npm-helpers/npm_generate_version.sh index a47a1f4..1e4a328 100755 --- a/scripts/bash/npm-helpers/npm_generate_version.sh +++ b/scripts/bash/npm-helpers/npm_generate_version.sh @@ -20,12 +20,20 @@ pushd "${PROJECT_DIR}" GIT_COMMIT_HASH=$(git rev-parse HEAD) SHORT_HASH=$(git rev-parse --short HEAD) -CURRENT_BRANCH_IMPL=$(git branch -r --contains "${SHORT_HASH}") + +# warning: same commit can be referenced from multiple branches. It often happens between main/master and develop branches. Let's make a priority for main/master +CURRENT_BRANCH_IMPL=$(git branch -r --contains "${SHORT_HASH}" --list origin/master --list origin/main) + +if [ "${CURRENT_BRANCH_IMPL}" = "" ]; then + CURRENT_BRANCH_IMPL=$(git branch -r --contains "${SHORT_HASH}" --list origin/develop) +fi + if [ "${CURRENT_BRANCH_IMPL}" = "" ]; then CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD) else CURRENT_BRANCH="${CURRENT_BRANCH_IMPL#*/}" fi + GIT_COMMIT_TIME=$(TZ=UTC0 git show --quiet --date='format-local:%Y%m%d%H%M%S' --format="%cd") TAG_TIME=${GIT_COMMIT_TIME:2} TAG=$(git tag --sort=-taggerdate | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+(-.+)?' | head -1) -- GitLab