-
-
Notifications
You must be signed in to change notification settings - Fork 313
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
attributes matching #400
Merged
Merged
attributes matching #400
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
44 tasks
Byron
force-pushed
the
worktree-stack
branch
from
February 17, 2023 10:06
10f85a9
to
868263c
Compare
Byron
force-pushed
the
worktree-stack
branch
2 times, most recently
from
March 20, 2023 19:11
0a4d25f
to
8c56e89
Compare
Byron
force-pushed
the
worktree-stack
branch
2 times, most recently
from
April 2, 2023 14:24
3bccbb1
to
f110e48
Compare
1 task
Byron
force-pushed
the
worktree-stack
branch
12 times, most recently
from
April 10, 2023 18:32
451d17d
to
48960c2
Compare
Really just an excuse to start a new PR for additional attribute work without investing much time.
…_config_prefix()` functions.
… path generation. This will make system wide configuration available on windows at least when using the migw builds.
…t copy parsed input. This kind of processing was only done for ignore patterns, which are quite different from how things are done in attribute files.
Byron
force-pushed
the
worktree-stack
branch
3 times, most recently
from
April 13, 2023 12:36
3541e20
to
4ec3ff5
Compare
…gix-attributes`.
An implementation for `Search<Attributes>` along with various breaking modifications of the original module and type layout.
This is done to fully understand how attribute initialization works with the current architecture, while taking care of its particular difference compared to the handling of exclude patterns.
… are loaded from. That way it's possible to, for example, isolate all operations that rely on the `gitattribute` system, like checkouts or additions to the index.
This is an on-demand operation anyway, but now we turn on the loading of git binary-specific gitattributes which should help to emulate gits behaviour perfectly.
EliahKagan
added a commit
to EliahKagan/advisory-db
that referenced
this pull request
Jul 24, 2024
gix-attributes was found by @ssbr to be unsound, as reported in GitoxideLabs/gitoxide#1460. This adds an informational notice for that, as discussed in comments there. It looks like the affected code, having been introduced in GitoxideLabs/gitoxide#400, was present in all versions of the crate prior to the fix in 0.22.3 (which was one of the bugs fixed in GitoxideLabs/gitoxide#1462). Co-authored-by: Devin Jeanpierre <jeanpierreda@google.com>
Shnatsel
pushed a commit
to rustsec/advisory-db
that referenced
this pull request
Jul 24, 2024
* Unsoundness notice for gix-attributes (kstring integration) gix-attributes was found by @ssbr to be unsound, as reported in GitoxideLabs/gitoxide#1460. This adds an informational notice for that, as discussed in comments there. It looks like the affected code, having been introduced in GitoxideLabs/gitoxide#400, was present in all versions of the crate prior to the fix in 0.22.3 (which was one of the bugs fixed in GitoxideLabs/gitoxide#1462). Co-authored-by: Devin Jeanpierre <jeanpierreda@google.com> * Small adjustments for advisory This makes some minor changes to the advisory description to adapt the text from GitoxideLabs/gitoxide#1460 to be an advisory. For the most part it has remained the same. Changes: * Express the claim of unsoundness with more confidence, since it has been reviewed by the maintainer. * Modify the link to the affected code to point to the latest tag for gix-attributes that has that code. The original link was to a branch, so it was broken when the fix was applied. * Apply inline code formatting in a few more places, where doing so improves stylistic consistency. --------- Co-authored-by: Devin Jeanpierre <jeanpierreda@google.com>
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.
A way to obtain a set of attributes given a path, efficiently.
Each path we handle needs one lookup there during checkout, thus it must be lazy and per thread.
git seems to implement it as stack which is efficient if similar paths are handled together, and then drops information as it is no longer needed. This seems like the way to go as we never have to optimize for random access.
Tasks
Outcome
type to handle searches across groups and can deal with macros.Search
instancesgix
gitattribute setup (seegit
implementation)Next PRs
fs::Cache
) and support for various sources. Needs to ignore macros in dynamically loaded attr files.gix repo attribute query/verify
with support for overridesgit check-attr
to have baselines against which to test our implementation.Differences to
.gitignore
inside that directory (so using the trailing-slash
path/
syntax ispointless in an attributes file; use
path/**
instead)binary
which is-text -diff -merge
.diff
might do its own binary check before diffing blobs if the attribute isn't set)