From 6af55c2cfe362653635845843a8f80c7e1c0884e Mon Sep 17 00:00:00 2001 From: Sergei Zharinov <zharinov@users.noreply.github.com> Date: Thu, 23 Jan 2025 08:27:07 -0300 Subject: [PATCH] fix(cargo): Skip "replace" range upgrade if new version still matches (#33773) --- lib/modules/versioning/cargo/index.spec.ts | 1 + lib/modules/versioning/cargo/index.ts | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/lib/modules/versioning/cargo/index.spec.ts b/lib/modules/versioning/cargo/index.spec.ts index 8198b12f40..0c5e6a5ae5 100644 --- a/lib/modules/versioning/cargo/index.spec.ts +++ b/lib/modules/versioning/cargo/index.spec.ts @@ -132,6 +132,7 @@ describe('modules/versioning/cargo/index', () => { ${'5.0'} | ${'bump'} | ${'5.0.0'} | ${'6.1.7'} | ${'6.1.7'} ${'0.5'} | ${'bump'} | ${'0.5.0'} | ${'0.5.1'} | ${'0.5.1'} ${'0.5'} | ${'bump'} | ${'0.5.0'} | ${'0.6.1'} | ${'0.6.1'} + ${'1.2'} | ${'replace'} | ${'1.2.3'} | ${'1.3.0'} | ${'1.2'} ${'5.0'} | ${'replace'} | ${'5.0.0'} | ${'5.1.7'} | ${'5.0'} ${'5.0'} | ${'replace'} | ${'5.0.0'} | ${'6.1.7'} | ${'6.0'} ${'0.5'} | ${'replace'} | ${'0.5.0'} | ${'0.6.1'} | ${'0.6'} diff --git a/lib/modules/versioning/cargo/index.ts b/lib/modules/versioning/cargo/index.ts index c78fc095ce..e8309f06a6 100644 --- a/lib/modules/versioning/cargo/index.ts +++ b/lib/modules/versioning/cargo/index.ts @@ -106,6 +106,9 @@ function getNewValue({ res += newVersion; return res; } + if (rangeStrategy === 'replace' && matches(newVersion, currentValue)) { + return currentValue; + } const newSemver = npm.getNewValue({ currentValue: cargo2npm(currentValue), rangeStrategy, @@ -142,6 +145,7 @@ function getNewValue({ const components = currentValue.split('.').length; newCargo = withoutCaret.split('.').slice(0, components).join('.'); } + return newCargo; } -- GitLab