From ca80f6c2ed45ff0e9e163b0a6692603ac6881c5e Mon Sep 17 00:00:00 2001
From: Johannes Feichtner <343448+Churro@users.noreply.github.com>
Date: Mon, 5 Feb 2024 06:01:02 +0100
Subject: [PATCH] feat(manager/pep621): set currentVersion field for exact
 dependency versions (#27061)

---
 lib/modules/manager/pep621/extract.spec.ts | 6 ++++++
 lib/modules/manager/pep621/utils.ts        | 4 ++++
 2 files changed, 10 insertions(+)

diff --git a/lib/modules/manager/pep621/extract.spec.ts b/lib/modules/manager/pep621/extract.spec.ts
index 4911bc35b7..ff75c374d5 100644
--- a/lib/modules/manager/pep621/extract.spec.ts
+++ b/lib/modules/manager/pep621/extract.spec.ts
@@ -62,6 +62,7 @@ describe('modules/manager/pep621/extract', () => {
           datasource: 'pypi',
           depType: 'project.dependencies',
           currentValue: '==20.0.0',
+          currentVersion: '20.0.0',
         },
         {
           packageName: 'pyproject-hooks',
@@ -276,6 +277,7 @@ describe('modules/manager/pep621/extract', () => {
       expect(result?.deps).toEqual([
         {
           currentValue: '==2.30.0',
+          currentVersion: '2.30.0',
           datasource: 'pypi',
           depName: 'requests',
           depType: 'project.dependencies',
@@ -290,6 +292,7 @@ describe('modules/manager/pep621/extract', () => {
         },
         {
           currentValue: '==6.5',
+          currentVersion: '6.5',
           datasource: 'pypi',
           depName: 'coverage',
           depType: 'tool.hatch.envs.default',
@@ -347,6 +350,7 @@ describe('modules/manager/pep621/extract', () => {
       expect(result?.deps).toEqual([
         {
           currentValue: '==2.30.0',
+          currentVersion: '2.30.0',
           datasource: 'pypi',
           depName: 'requests',
           depType: 'project.dependencies',
@@ -354,6 +358,7 @@ describe('modules/manager/pep621/extract', () => {
         },
         {
           currentValue: '==1.18.0',
+          currentVersion: '1.18.0',
           datasource: 'pypi',
           depName: 'hatchling',
           depType: 'build-system.requires',
@@ -361,6 +366,7 @@ describe('modules/manager/pep621/extract', () => {
         },
         {
           currentValue: '==69.0.3',
+          currentVersion: '69.0.3',
           datasource: 'pypi',
           depName: 'setuptools',
           depType: 'build-system.requires',
diff --git a/lib/modules/manager/pep621/utils.ts b/lib/modules/manager/pep621/utils.ts
index 5b28541993..d81deb8b98 100644
--- a/lib/modules/manager/pep621/utils.ts
+++ b/lib/modules/manager/pep621/utils.ts
@@ -70,6 +70,10 @@ export function pep508ToPackageDependency(
     dep.skipReason = 'unspecified-version';
   } else {
     dep.currentValue = parsed.currentValue;
+
+    if (parsed.currentValue.startsWith('==')) {
+      dep.currentVersion = parsed.currentValue.replace(regEx(/^==\s*/), '');
+    }
   }
   return dep;
 }
-- 
GitLab