From 9bdd8b53c3511c3461b6d81e87ce4f1498932ed1 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Sun, 5 Jul 2020 08:25:21 +0200 Subject: [PATCH] refactor(git): separate init from sync --- lib/util/git/index.ts | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/util/git/index.ts b/lib/util/git/index.ts index cf3c6906ba..9e93484f07 100644 --- a/lib/util/git/index.ts +++ b/lib/util/git/index.ts @@ -39,6 +39,7 @@ interface LocalConfig extends StorageConfig { baseBranchSha: string; branchExists: Record<string, boolean>; branchPrefix: string; + syncCompleted: boolean; } // istanbul ignore next @@ -146,10 +147,11 @@ export async function getSubmodules(): Promise<string[]> { .filter((_e: string, i: number) => i % 2); } -export async function initRepo(args: StorageConfig): Promise<void> { - config = { ...args } as any; - - config.branchExists = {}; +export async function syncGit(): Promise<void> { + if (config.syncCompleted) { + return; + } + config.syncCompleted = true; logger.debug('Initializing git repository into ' + config.localDir); const gitHead = join(config.localDir, '.git/HEAD'); let clone = true; @@ -232,6 +234,12 @@ export async function initRepo(args: StorageConfig): Promise<void> { config.baseBranch = config.baseBranch || (await getDefaultBranch(git)); } +export async function initRepo(args: StorageConfig): Promise<void> { + config = { ...args } as any; + config.branchExists = {}; + await syncGit(); +} + // istanbul ignore next export async function getRepoStatus(): Promise<StatusResult> { return git.status(); -- GitLab