From a9920ff8ec841deaddf56195774b88a1510d2865 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Mon, 24 Jan 2022 14:39:41 +0100
Subject: [PATCH] fix(git): writeGitAuthor before conflicted check (#13776)

---
 lib/util/git/index.ts | 9 +++++++--
 lib/util/git/types.ts | 2 ++
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/lib/util/git/index.ts b/lib/util/git/index.ts
index 7c9f5512eb..2b3df13326 100644
--- a/lib/util/git/index.ts
+++ b/lib/util/git/index.ts
@@ -261,7 +261,12 @@ export function setGitAuthor(gitAuthor: string): void {
 }
 
 export async function writeGitAuthor(): Promise<void> {
-  const { gitAuthorName, gitAuthorEmail } = config;
+  const { gitAuthorName, gitAuthorEmail, writeGitDone } = config;
+  // istanbul ignore if
+  if (writeGitDone) {
+    return;
+  }
+  config.writeGitDone = true;
   try {
     if (gitAuthorName) {
       logger.debug({ gitAuthorName }, 'Setting git author name');
@@ -579,7 +584,7 @@ export async function isBranchConflicted(
 ): Promise<boolean> {
   logger.debug(`isBranchConflicted(${baseBranch}, ${branch})`);
   await syncGit();
-
+  await writeGitAuthor();
   if (!branchExists(baseBranch) || !branchExists(branch)) {
     logger.warn(
       { baseBranch, branch },
diff --git a/lib/util/git/types.ts b/lib/util/git/types.ts
index b716298087..f7027b8f83 100644
--- a/lib/util/git/types.ts
+++ b/lib/util/git/types.ts
@@ -28,6 +28,8 @@ export interface LocalConfig extends StorageConfig {
   ignoredAuthors: string[];
   gitAuthorName?: string;
   gitAuthorEmail?: string;
+
+  writeGitDone?: boolean;
 }
 
 export interface FileAddition {
-- 
GitLab