16 breaking releases
0.17.0 | Jan 18, 2025 |
---|---|
0.16.0 | Dec 22, 2024 |
0.15.0 | Nov 24, 2024 |
0.11.0 | Jul 23, 2024 |
0.2.0 | Oct 12, 2023 |
#2166 in Development tools
25,084 downloads per month
Used in 6 crates
(2 directly)
1MB
18K
SLoC
This crate includes the various diffs git
can do between different representations
of the repository state, like comparisons between…
- index and working tree
- tree and index
…while also being able to check if the working tree is dirty, quickly, by instructing the operation to stop once the first change was found.
Tree-Index Status
This status is not actually implemented here as it's not implemented directly. Instead, one creates an Index from a tree
and then diffs two indices with gix_diff::index(index_from_tree, usually_dot_git_index)
. This adds about 15% to the runtime
and comes at the cost of another index in memory.
Once there are generators implementing depth-first tree iteration should become trivial, but for now it's very hard if one
wants to return referenced state of the iterator (which is not possible).
Difference to gix-diff
Technically, status
is just another form of diff between different kind of sides, i.e. an index and a working tree.
This is the difference to gix-diff
, which compares only similar items.
Feature Flags
Dependencies
~15–25MB
~454K SLoC