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