From 7f4185b02c405e6fc7d2b2628d301f860b731d06 Mon Sep 17 00:00:00 2001
From: t-kulmburg <89128736+t-kulmburg@users.noreply.github.com>
Date: Tue, 30 Aug 2022 10:21:12 +0200
Subject: [PATCH] refactor: new checkExistingBranch function in doAutoReplace
 (#17500)

---
 .../repository/update/branch/auto-replace.ts  | 40 +++++++++++--------
 1 file changed, 24 insertions(+), 16 deletions(-)

diff --git a/lib/workers/repository/update/branch/auto-replace.ts b/lib/workers/repository/update/branch/auto-replace.ts
index a888a7496e..6d4eafc96b 100644
--- a/lib/workers/repository/update/branch/auto-replace.ts
+++ b/lib/workers/repository/update/branch/auto-replace.ts
@@ -105,6 +105,29 @@ export async function checkBranchDepsMatchBaseDeps(
   }
 }
 
+async function checkExistingBranch(
+  upgrade: BranchUpgradeConfig,
+  existingContent: string
+): Promise<string | null> {
+  const { packageFile, depName } = upgrade;
+  if (!(await checkBranchDepsMatchBaseDeps(upgrade, existingContent))) {
+    logger.debug(
+      { packageFile, depName },
+      'Rebasing branch after deps list has changed'
+    );
+    return null;
+  }
+  if (!(await confirmIfDepUpdated(upgrade, existingContent))) {
+    logger.debug(
+      { packageFile, depName },
+      'Rebasing after outdated branch dep found'
+    );
+    return null;
+  }
+  logger.debug({ packageFile, depName }, 'Branch dep is already updated');
+  return existingContent;
+}
+
 export async function doAutoReplace(
   upgrade: BranchUpgradeConfig,
   existingContent: string,
@@ -120,22 +143,7 @@ export async function doAutoReplace(
     autoReplaceStringTemplate,
   } = upgrade;
   if (reuseExistingBranch) {
-    if (!(await checkBranchDepsMatchBaseDeps(upgrade, existingContent))) {
-      logger.debug(
-        { packageFile, depName },
-        'Rebasing branch after deps list has changed'
-      );
-      return null;
-    }
-    if (!(await confirmIfDepUpdated(upgrade, existingContent))) {
-      logger.debug(
-        { packageFile, depName },
-        'Rebasing after outdated branch dep found'
-      );
-      return null;
-    }
-    logger.debug({ packageFile, depName }, 'Branch dep is already updated');
-    return existingContent;
+    return await checkExistingBranch(upgrade, existingContent);
   }
   const replaceString = upgrade.replaceString ?? currentValue;
   logger.trace({ depName, replaceString }, 'autoReplace replaceString');
-- 
GitLab