-
-
Notifications
You must be signed in to change notification settings - Fork 308
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
pathspec matching #967
Merged
Merged
pathspec matching #967
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Byron
force-pushed
the
pathspec-matching
branch
4 times, most recently
from
August 9, 2023 17:38
517cb1d
to
cbbc8b1
Compare
… of spec. That spec is indicated with `:`.
This allows the caller to control what happens if certain configuration flags of pathsepcs aren't set. These are typically provided by pathspec configuration environment variables.
It actually wasn't used in the base implementation at all
…rators nor single `.`.
Byron
force-pushed
the
pathspec-matching
branch
from
August 10, 2023 09:26
cbbc8b1
to
032f7e6
Compare
…llows controlling base flags. Previously, this method would assume that path globs should stop at slashes, and now this setting can be controlled by the caller.
Byron
force-pushed
the
pathspec-matching
branch
3 times, most recently
from
August 11, 2023 09:51
e62ec5e
to
f5409dc
Compare
Byron
force-pushed
the
pathspec-matching
branch
3 times, most recently
from
August 13, 2023 08:44
451a2c2
to
3b50b97
Compare
Byron
force-pushed
the
pathspec-matching
branch
3 times, most recently
from
August 13, 2023 19:37
dc724d7
to
9a39574
Compare
This is important for selecting files on disk
The latter isn't included to keep concerns and crates separate.
Byron
force-pushed
the
pathspec-matching
branch
2 times, most recently
from
August 14, 2023 09:22
ed5a866
to
f3480d3
Compare
…ous search. This allows to perform a search once, finding all attributes, and then copy the results over to another outcome, typically one with selected attributes.
…on`. This makes it easier for the caller as they won't have to call transpose anymore.
…th a given prefix. This is useful to limit entry traversal and thus do less work.
This adds support for more simple git style, which is faster and thus allows for more direct comparisons to `git ls-files`.
Byron
force-pushed
the
pathspec-matching
branch
from
August 14, 2023 09:57
f3480d3
to
c30ac0c
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Follow-up of #964
Tasks
file/
doesn't match a file as it's supposed to be dir!
in path to assure we handle patterns correctly.gix index entries
with pathspec support, along with utilities to handle the CWD within the repo to affect the pathspecOut of Scope/Next PR
Use pathspec matching for…
$GIT_DIR/config
, and check where exactly they are fromAsPathSpec
oncegix
has a way to generate them (it's trivial, but needs doing, withgix-sec
integration)todo(pathspec)
- mostly performance and APIgix
gix index entries
with--recurse-submodules
Research Notes
git ls-files <spec>
is generally really, really fast and only on webkit with 360k paths and 'some difficult patterns' one can see any sort of slowdown.hyperfine 'git ls-files *test* foo bar **ring**' 'git ls-files'
shows one though in webkit.