17 breaking releases
0.18.0 | Apr 4, 2025 |
---|---|
0.17.0 | Jan 18, 2025 |
0.16.0 | Dec 22, 2024 |
0.15.0 | Nov 24, 2024 |
0.2.0 | Oct 12, 2023 |
#1728 in Development tools
434,913 downloads per month
Used in 48 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
~17–28MB
~494K SLoC