Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: change default git scan mode to repo #5399

Merged
merged 4 commits into from Nov 14, 2023

Conversation

TimBeyer
Copy link
Contributor

@TimBeyer TimBeyer commented Nov 13, 2023

What this PR does / why we need it:
The repo scan mode loads the entire repo files list into a tree structure and applies glob matching from there.
This prevents a large amount of git subprocesses being spawned, and is much faster for large projects.
Especially on Windows it has a large performance benefit due to Windows being slow at spawning subprocesses.
We change this to be the default now, but it can always be overridden using the GARDEN_GIT_SCAN_MODE=subtree environment variable.

Which issue(s) this PR fixes:

Fixes #

Special notes for your reviewer:

The `repo` scan mode loads the entire repo files into a tree structure and applies glob matching from there.
This prevents a large amount of `git` subprocesses being spawned, and is much faster for large projects.
Especially on Windows it has a large performance benefit due to Windows being slow at spawning subprocesses.
We change this to be the default now, but it can always be overridden using the `GARDEN_GIT_SCAN_MODE=subtree` environment variable.
stefreak
stefreak previously approved these changes Nov 13, 2023
@TimBeyer TimBeyer added this pull request to the merge queue Nov 14, 2023
Merged via the queue into main with commit da3f68f Nov 14, 2023
45 checks passed
@TimBeyer TimBeyer deleted the feat/change-default-git-scan-mode branch November 14, 2023 10:13
vvagaytsev added a commit that referenced this pull request Nov 28, 2023
Starting from #5399 the env variable `GARDEN_GIT_SCAN_MODE` defaults to `repo`.
It means that it's already defined and the scan mode
configured in the project config has no effect.
github-merge-queue bot pushed a commit that referenced this pull request Nov 28, 2023
* fix(git): prefer project-level repo scan mode over env variable

Starting from #5399 the env variable `GARDEN_GIT_SCAN_MODE` defaults to `repo`.
It means that it's already defined and the scan mode
configured in the project config has no effect.

* test(git): remove confusing describe wrapper

Function `commonGitHandlerTests` already defines test suite for `getFiles` and another methods.

* test(git): (quickfix) set vcs handlers consistently
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants