From ce3bd2a47d686fc5d9dff378942767e70233c00b Mon Sep 17 00:00:00 2001 From: Laurent Cozic Date: Mon, 21 Sep 2020 12:16:05 +0100 Subject: [PATCH] Tools: Fixed Cli version handling --- Tools/git-changelog.js | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/Tools/git-changelog.js b/Tools/git-changelog.js index 4ea8203f36..20c7df7f3d 100644 --- a/Tools/git-changelog.js +++ b/Tools/git-changelog.js @@ -249,12 +249,23 @@ function capitalizeFirstLetter(string) { function decreaseTagVersion(tag) { const s = tag.split('.'); - const lastToken = s.pop(); - const s2 = lastToken.split('-'); - let num = Number(s2[0]); - num--; - if (num < 0) throw new Error(`Cannot decrease tag version: ${tag}`); - s.push(`${num}`); + + let updated = false; + + for (let tokenIndex = s.length - 1; tokenIndex >= 0; tokenIndex--) { + const token = s[tokenIndex]; + const s2 = token.split('-'); + let num = Number(s2[0]); + num--; + if (num >= 0) { + updated = true; + s[tokenIndex] = num; + break; + } + } + + if (!updated) throw new Error(`Cannot decrease tag version: ${tag}`); + return s.join('.'); }