From 27db9cfbf8ebb6f292a683d8e40a44d8bd4278d0 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Wed, 4 Apr 2018 19:23:45 +0200
Subject: [PATCH] refactor: remove automerge recursion

---
 lib/workers/repository/error.js |  4 ----
 lib/workers/repository/index.js | 14 ++------------
 2 files changed, 2 insertions(+), 16 deletions(-)

diff --git a/lib/workers/repository/error.js b/lib/workers/repository/error.js
index cc093bbe53..70b97feac9 100644
--- a/lib/workers/repository/error.js
+++ b/lib/workers/repository/error.js
@@ -38,10 +38,6 @@ async function handleError(config, err) {
   } else if (err.message === 'no-package-files') {
     logger.info('Repository has no package files - skipping');
     return err.message;
-  } else if (err.message === 'loops>10') {
-    logger.warn('Repository has looped 10 times already');
-    delete config.branchList; // eslint-disable-line no-param-reassign
-    return err.message;
   } else if (err.message === 'repository-changed') {
     logger.info('Repository has changed during renovation - aborting');
     delete config.branchList; // eslint-disable-line no-param-reassign
diff --git a/lib/workers/repository/index.js b/lib/workers/repository/index.js
index 6e3cdad6ec..41128b6aa8 100644
--- a/lib/workers/repository/index.js
+++ b/lib/workers/repository/index.js
@@ -6,7 +6,6 @@ const { writeUpdates } = require('./write');
 const { handleError } = require('./error');
 const { pruneStaleBranches } = require('./cleanup');
 const { validatePrs } = require('./validate');
-const delay = require('delay');
 
 const { resolvePackageFiles } = require('../../manager');
 
@@ -14,20 +13,16 @@ module.exports = {
   renovateRepository,
 };
 
-async function renovateRepository(repoConfig, token, loop = 1) {
+async function renovateRepository(repoConfig, token) {
   let config = { ...repoConfig, branchList: [] };
   config.global = config.global || {};
   logger.setMeta({ repository: config.repository });
   logger.info('Renovating repository');
-  logger.trace({ config, loop }, 'renovateRepository()');
+  logger.trace({ config }, 'renovateRepository()');
   let commonConfig;
   try {
-    if (loop > 10) {
-      throw new Error('loops>10');
-    }
     config = await initApis(config, token);
     config = await initRepo(config);
-
     if (config.baseBranches && config.baseBranches.length) {
       // At this point we know if we have multiple branches
       // Do the following for every branch
@@ -80,11 +75,6 @@ async function renovateRepository(repoConfig, token, loop = 1) {
     const res = config.repoIsOnboarded
       ? await writeUpdates(config)
       : await ensureOnboardingPr(config);
-    if (res === 'pr-closed' || res === 'automerged') {
-      logger.info(`Restarting repo renovation after ${res}`);
-      await delay(5000);
-      return renovateRepository(repoConfig, token, loop + 1);
-    }
     await validatePrs(commonConfig || config);
     return res;
   } catch (err) {
-- 
GitLab