From b7951c3c0a2497e75afbfd90b373466c60d72c80 Mon Sep 17 00:00:00 2001
From: Adam Setch <adam.setch@outlook.com>
Date: Fri, 22 Nov 2024 11:13:03 -0500
Subject: [PATCH] fix(bitbucket): source link root path (#32676)

Signed-off-by: Adam Setch <adam.setch@outlook.com>
---
 lib/modules/platform/bitbucket/index.spec.ts | 8 ++++++++
 lib/modules/platform/bitbucket/index.ts      | 1 +
 2 files changed, 9 insertions(+)

diff --git a/lib/modules/platform/bitbucket/index.spec.ts b/lib/modules/platform/bitbucket/index.spec.ts
index 92ca09c781..19546256ec 100644
--- a/lib/modules/platform/bitbucket/index.spec.ts
+++ b/lib/modules/platform/bitbucket/index.spec.ts
@@ -1656,6 +1656,14 @@ describe('modules/platform/bitbucket/index', () => {
 
       expect(bitbucket.massageMarkdown(prBody)).toMatchSnapshot();
     });
+
+    it('converts source links', () => {
+      const prBody = '[source](https://bitbucket.org/foo/bar/tree/HEAD)';
+
+      expect(bitbucket.massageMarkdown(prBody)).toBe(
+        '[source](https://bitbucket.org/foo/bar/src/HEAD)',
+      );
+    });
   });
 
   describe('updatePr()', () => {
diff --git a/lib/modules/platform/bitbucket/index.ts b/lib/modules/platform/bitbucket/index.ts
index 9678aa2443..97915bcefa 100644
--- a/lib/modules/platform/bitbucket/index.ts
+++ b/lib/modules/platform/bitbucket/index.ts
@@ -583,6 +583,7 @@ export function massageMarkdown(input: string): string {
     .replace(regEx(/<\/?(details|blockquote)>/g), '')
     .replace(regEx(`\n---\n\n.*?<!-- rebase-check -->.*?\n`), '')
     .replace(regEx(/\]\(\.\.\/pull\//g), '](../../pull-requests/')
+    .replace(regEx(/\/tree\/HEAD/g), '/src/HEAD')
     .replace(regEx(/<!--renovate-(?:debug|config-hash):.*?-->/g), '');
 }
 
-- 
GitLab