From 07e7dac2e72e2124e48e62ef0d9eae56fd2cd2aa Mon Sep 17 00:00:00 2001 From: Joao Moreno Date: Wed, 12 Sep 2018 11:40:25 +0200 Subject: [PATCH] :lipstick: --- extensions/git/src/model.ts | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/extensions/git/src/model.ts b/extensions/git/src/model.ts index e242bdeadd3..94c6c904acf 100644 --- a/extensions/git/src/model.ts +++ b/extensions/git/src/model.ts @@ -242,20 +242,28 @@ export class Model { const changeListener = repository.onDidChangeRepository(uri => this._onDidChangeRepository.fire({ repository, uri })); const originalResourceChangeListener = repository.onDidChangeOriginalResource(uri => this._onDidChangeOriginalResource.fire({ repository, uri })); - const detectSubmodules = workspace + const shouldDetectSubmodules = workspace .getConfiguration('git', Uri.file(repository.root)) .get('detectSubmodules') as boolean; + const submodulesLimit = workspace .getConfiguration('git', Uri.file(repository.root)) .get('detectSubmodulesLimit') as number; const checkForSubmodules = () => { - if (detectSubmodules && repository.submodules.length > submodulesLimit) { + if (!shouldDetectSubmodules) { + return; + } + + if (repository.submodules.length > submodulesLimit) { window.showWarningMessage(localize('too many submodules', "The '{0}' repository has {1} submodules which won't be opened automatically. You can still open each one individually by opening a file within.", path.basename(repository.root), repository.submodules.length)); statusListener.dispose(); } - this.scanSubmodules(repository, submodulesLimit); + repository.submodules + .slice(0, submodulesLimit) + .map(r => path.join(repository.root, r.path)) + .forEach(p => this.eventuallyScanPossibleGitRepository(p)); }; const statusListener = repository.onDidRunGitStatus(checkForSubmodules); @@ -277,21 +285,6 @@ export class Model { this._onDidOpenRepository.fire(repository); } - private scanSubmodules(repository: Repository, limit: number): void { - const shouldScanSubmodules = workspace - .getConfiguration('git', Uri.file(repository.root)) - .get('detectSubmodules') === true; - - if (!shouldScanSubmodules) { - return; - } - - repository.submodules - .slice(0, limit) - .map(r => path.join(repository.root, r.path)) - .forEach(p => this.eventuallyScanPossibleGitRepository(p)); - } - close(repository: Repository): void { const openRepository = this.getOpenRepository(repository);