attributes matching#400
Merged
Merged
Conversation
44 tasks
Sebastian Thiel (Byron)
force-pushed
the
worktree-stack
branch
from
June 30, 2022 01:24
e84c6ff to
35b7769
Compare
Sebastian Thiel (Byron)
marked this pull request as draft
July 17, 2022 23:37
Sebastian Thiel (Byron)
force-pushed
the
main
branch
from
February 4, 2023 19:12
2e4de5c to
786f6dc
Compare
Sebastian Thiel (Byron)
force-pushed
the
worktree-stack
branch
from
February 17, 2023 10:06
10f85a9 to
868263c
Compare
Sebastian Thiel (Byron)
force-pushed
the
worktree-stack
branch
2 times, most recently
from
March 20, 2023 19:11
0a4d25f to
8c56e89
Compare
Sebastian Thiel (Byron)
force-pushed
the
worktree-stack
branch
2 times, most recently
from
April 2, 2023 14:24
3bccbb1 to
f110e48
Compare
1 task
Sebastian Thiel (Byron)
force-pushed
the
worktree-stack
branch
12 times, most recently
from
April 10, 2023 18:32
451d17d to
48960c2
Compare
Sebastian Thiel (Byron)
force-pushed
the
worktree-stack
branch
from
April 11, 2023 22:48
48960c2 to
eda4cf2
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.
Sebastian Thiel (Byron)
force-pushed
the
worktree-stack
branch
2 times, most recently
from
April 12, 2023 17:22
6b66e1b to
3541e20
Compare
Sebastian Thiel (Byron)
force-pushed
the
worktree-stack
branch
from
April 13, 2023 12:36
3541e20 to
4ec3ff5
Compare
Sebastian Thiel (Byron)
force-pushed
the
worktree-stack
branch
from
April 13, 2023 18:54
4ec3ff5 to
7647297
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.
Sebastian Thiel (Byron)
force-pushed
the
worktree-stack
branch
from
April 13, 2023 20:52
7647297 to
9237121
Compare
Eliah Kagan (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 <[email protected]>
Sergey "Shnatsel" Davidoff (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 <[email protected]> * 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 <[email protected]>
This file contains hidden or 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
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
Outcometype to handle searches across groups and can deal with macros.Searchinstancesgixgitattribute setup (seegitimplementation)Next PRs
fs::Cache) and support for various sources. Needs to ignore macros in dynamically loaded attr files.gix repo attribute query/verifywith support for overridesgit check-attrto have baselines against which to test our implementation.Differences to
.gitignoreinside that directory (so using the trailing-slash
path/syntax ispointless in an attributes file; use
path/**instead)binarywhich is-text -diff -merge.diffmight do its own binary check before diffing blobs if the attribute isn't set)