-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Fix and speed up the file list for the "Enter path to filter by" feature #5056
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
Conversation
Coverage summary from CodacySee diff coverage on Codacy
Coverage variation details
Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: Diff coverage details
Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: See your quality gate settings Change summary preferencesFootnotes
|
28be8d5 to
b06c2bb
Compare
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [jesseduffield/lazygit](https://github.com/jesseduffield/lazygit) | minor | `v0.56.0` -> `v0.57.0` | MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot). **Proposed changes to behavior should be submitted there as MRs.** --- ### Release Notes <details> <summary>jesseduffield/lazygit (jesseduffield/lazygit)</summary> ### [`v0.57.0`](https://github.com/jesseduffield/lazygit/releases/tag/v0.57.0) [Compare Source](jesseduffield/lazygit@v0.56.0...v0.57.0) <!-- Release notes generated using configuration in .github/release.yml at v0.57.0 --> #### What's Changed ##### Enhancements 🔥 - Open pull requests in browser with extra leading slashes removed by [@​hrzlgnm](https://github.com/hrzlgnm) in [#​5018](jesseduffield/lazygit#5018) - Allow using SelectedSubmodule in CustomCommands by [@​rlkandela](https://github.com/rlkandela) in [#​5015](jesseduffield/lazygit#5015) - Don't allow empty input in most prompts by [@​stefanhaller](https://github.com/stefanhaller) in [#​5043](jesseduffield/lazygit#5043) - Suppress output from background fetch (unless there were errors) by [@​stefanhaller](https://github.com/stefanhaller) in [#​5044](jesseduffield/lazygit#5044) - feat: add fork remote command by [@​karolzwolak](https://github.com/karolzwolak) in [#​4831](jesseduffield/lazygit#4831) - Trigger immediate background fetch when switching repos by [@​stefanhaller](https://github.com/stefanhaller) in [#​5047](jesseduffield/lazygit#5047) ##### Fixes 🔧 - Keep cursor at top/bottom when navigating by page by [@​RaphaeleL](https://github.com/RaphaeleL) in [#​5019](jesseduffield/lazygit#5019) - Switch to branches view when checking out a commit by [@​stefanhaller](https://github.com/stefanhaller) in [#​5048](jesseduffield/lazygit#5048) - Fix deleting a remote tag when a remote branch with the same name exists, or vice versa by [@​stefanhaller](https://github.com/stefanhaller) in [#​5075](jesseduffield/lazygit#5075) - Show fixup base commits in correct order in ctrl-f error message by [@​stefanhaller](https://github.com/stefanhaller) in [#​5073](jesseduffield/lazygit#5073) - Band-aid fix for rare crashes when refreshing files by [@​stefanhaller](https://github.com/stefanhaller) in [#​5074](jesseduffield/lazygit#5074) - Fix to support creating MRs for repositories cloned with SSH alias by [@​roveo](https://github.com/roveo) in [#​5082](jesseduffield/lazygit#5082) ##### Maintenance ⚙️ - Keep config and schema unchanged during a release by [@​stefanhaller](https://github.com/stefanhaller) in [#​5010](jesseduffield/lazygit#5010) - Modernize all codes by [@​phanen](https://github.com/phanen) in [#​5036](jesseduffield/lazygit#5036) - Bump golang.org/x/crypto from 0.37.0 to 0.45.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​5054](jesseduffield/lazygit#5054) - Don't use "HEADLESS" environment variable for running tests by [@​stefanhaller](https://github.com/stefanhaller) in [#​5064](jesseduffield/lazygit#5064) - refactor: use strings.Builder and strings.Repeat to simplify code by [@​boqishan](https://github.com/boqishan) in [#​5068](jesseduffield/lazygit#5068) - chore: fix function name in comment by [@​riyueguang](https://github.com/riyueguang) in [#​4481](jesseduffield/lazygit#4481) ##### Docs 📖 - Add a "Commit history" section to CONTRIBUTING.md by [@​stefanhaller](https://github.com/stefanhaller) in [#​5022](jesseduffield/lazygit#5022) - Update table of contents in README.md by [@​madscientist16](https://github.com/madscientist16) in [#​5045](jesseduffield/lazygit#5045) - Update docs and schema for release by [@​stefanhaller](https://github.com/stefanhaller) in [#​5091](jesseduffield/lazygit#5091) ##### I18n 🌎 - Update translations from Crowdin by [@​stefanhaller](https://github.com/stefanhaller) in [#​5090](jesseduffield/lazygit#5090) ##### Performance Improvements 📊 - Fix and speed up the file list for the "Enter path to filter by" feature by [@​stefanhaller](https://github.com/stefanhaller) in [#​5056](jesseduffield/lazygit#5056) #### New Contributors - [@​hrzlgnm](https://github.com/hrzlgnm) made their first contribution in [#​5018](jesseduffield/lazygit#5018) - [@​RaphaeleL](https://github.com/RaphaeleL) made their first contribution in [#​5019](jesseduffield/lazygit#5019) - [@​rlkandela](https://github.com/rlkandela) made their first contribution in [#​5015](jesseduffield/lazygit#5015) - [@​phanen](https://github.com/phanen) made their first contribution in [#​5036](jesseduffield/lazygit#5036) - [@​madscientist16](https://github.com/madscientist16) made their first contribution in [#​5045](jesseduffield/lazygit#5045) - [@​karolzwolak](https://github.com/karolzwolak) made their first contribution in [#​4831](jesseduffield/lazygit#4831) - [@​boqishan](https://github.com/boqishan) made their first contribution in [#​5068](jesseduffield/lazygit#5068) - [@​riyueguang](https://github.com/riyueguang) made their first contribution in [#​4481](jesseduffield/lazygit#4481) - [@​roveo](https://github.com/roveo) made their first contribution in [#​5082](jesseduffield/lazygit#5082) **Full Changelog**: <jesseduffield/lazygit@v0.56.0...v0.57.0> </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi40Ny4wIiwidXBkYXRlZEluVmVyIjoiNDIuNDcuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
The file suggestions list that appears when you choose "Enter path to filter by" from the Filtering menu was previously implemented by walking the file system to collect all files, and then filter out the ones that are git-ignored. This approach had several problems:
This PR improves all these by using a call to
git ls-filesto list the repositories files.Here are some rough hand-timed measurements (from opening the Filtering dialog until the file list shows) for various repos:
Fixes #2642