From a2c39b91fd95693a6bb5970c7d192382ca8fb1f2 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Fri, 12 Nov 2021 16:36:54 +0100 Subject: [PATCH] fix: branchName massage hyphens (#12622) --- lib/workers/repository/updates/branch-name.spec.ts | 6 +++++- lib/workers/repository/updates/branch-name.ts | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/workers/repository/updates/branch-name.spec.ts b/lib/workers/repository/updates/branch-name.spec.ts index 3475b73287..a1436ee7c3 100644 --- a/lib/workers/repository/updates/branch-name.spec.ts +++ b/lib/workers/repository/updates/branch-name.spec.ts @@ -220,7 +220,7 @@ describe('workers/repository/updates/branch-name', () => { }, { upgrade: { branchName: 'renovate/~bad-branch-name2' }, - expectedBranchName: 'renovate/-bad-branch-name2', + expectedBranchName: 'renovate/bad-branch-name2', }, { upgrade: { branchName: 'renovate/bad-branch-^-name3' }, @@ -258,6 +258,10 @@ describe('workers/repository/updates/branch-name', () => { upgrade: { branchName: 'renovate/bad--branch---name11' }, expectedBranchName: 'renovate/bad-branch-name11', }, + { + upgrade: { branchName: 'renovate-/[start]-something-[end]' }, + expectedBranchName: 'renovate/start-something-end', + }, ]; fixtures.forEach((fixture) => { generateBranchName(fixture.upgrade); diff --git a/lib/workers/repository/updates/branch-name.ts b/lib/workers/repository/updates/branch-name.ts index 15433fb94b..7e45f0802d 100644 --- a/lib/workers/repository/updates/branch-name.ts +++ b/lib/workers/repository/updates/branch-name.ts @@ -24,6 +24,8 @@ function cleanBranchName(branchName: string): string { .replace(regEx(/\/\./g), '/') // leading dot after slash .replace(regEx(/\s/g), '') // whitespace .replace(regEx(/[[\]?:\\^~]/g), '-') // massage out all these characters: : ? [ \ ^ ~ + .replace(regEx(/(^|\/)-+/g), '$1') // leading dashes + .replace(regEx(/-+(\/|$)/g), '$1') // trailing dashes .replace(RE_MULTIPLE_DASH, '-'); // chained dashes } -- GitLab