fix(deps): update rust crate gix to 0.73.0 #277
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.
This PR contains the following updates:
0.68.0
->0.73.0
Release Notes
GitoxideLabs/gitoxide (gix)
v0.73.0
: gix v0.73.0Compare Source
New Features
repo.references().pseudo()
for traversing refs likeHEAD
andFETCH_HEAD
.Repository::committer_or_set_generic_fallback()
.That way one can always obtain a committer, even though it might
not represent the entity actually committing.
revision::walk::Platform::hide()
.This finally makes safe traversals possible and is what most people would want to use
instead of
boundary()
.gitoxide.parsePrecious
configuration key to opt-in to precious file parsing.Repository::is_empty()
to emulate the similargit2
APIRepository::merge_bases_many()
for simplified retrieval of multiple mergebases.tree::EntryRef::to_owned()
.That way it's in a more reasonable spot as sibling to
Entry
and it's clearer how to convert noe into the other.EntryRef::kind()
as shortcut forEntryRef::mode().kind()
.Bug Fixes
remote::Connection::ref_map()
doesn't finish the handshakeRepository::branch_remote_ref_name()
won't fail on short names anymore.Instead, these partial names are turned into branch names, which seems more
in line with what Git can do.
strict_config
in conjunction withGIT_WORK_TREE
no longer triggers an error.Other
Bug Fixes (BREAKING)
Repository::submodules()
in an unborn repository.It's a breaking change merely because the error type changed.
Commit Statistics
Thanks Clippy
Clippy helped 1 time to make code idiomatic.
Commit Details
view details
strict_config
in conjunction withGIT_WORK_TREE
no longer triggers an error. (3f85bf5
)remote::Connection::ref_map()
doesn't finish the handshake (427274b
)65037b5
)60c29a5
)43f92b5
)repo.references().pseudo()
for traversing refs likeHEAD
andFETCH_HEAD
. (2affbab
)5335c84
)gix-diff
(a0cef8b
)dab97f7
)a9a8ea1
)3f2be40
)-t bad
(73a30f8
)c2eb0c1
)e8b7a4e
)bfb1c34
)554ce13
)Repository::branch_remote_ref_name()
won't fail on short names anymore. (a75b4a2
)5cf6d05
)Repository::committer_or_set_generic_fallback()
. (d7db360
)62e4bab
)298f22e
)b7c1f2c
)92febae
)revision::walk::Platform::hide()
. (a9befb2
)f8d7c0a
)151e3a5
)b199c6e
)subomdule.<name>.ignore = all
is handled correctly. (657dec4
)40f5a56
)gix
manifestrust-version
in all MSRV checks (654a8fa
)5f9de52
)gix-ignore
andgix-glob
, and more. (4ef7806
)gitoxide.parsePrecious
configuration key to opt-in to precious file parsing. (85a24b3
)7ae3797
)Repository::is_empty()
to emulate the similargit2
API (b985766
)Repository::submodules()
in an unborn repository. (26ae766
)648022b
)f0ed2cc
)c3f06ae
)d2b4c44
)fdfb239
)Repository::merge_bases_many()
for simplified retrieval of multiple mergebases. (f687cb1
)7a33e2a
):/
baseline skip (b623bf1
):/
baseline skip from CI to local and extend (2400158
)189d1a0
)28935a5
)tree::EntryRef::to_owned()
. (3a5068e
)800738a
)4408166
)EntryRef::kind()
as shortcut forEntryRef::mode().kind()
. (3ef6b55
)8d4c4d1
)v0.72.1
: gix v0.72.1Compare Source
Commit Statistics
Commit Details
view details
5f7f805
)v0.72.0
: gix v0.72.0Compare Source
Bug Fixes
Adapt to changes in gix-actor
Use the committer date and author date that are now backed by bytes and
interpret these bytes into a
gix_date::Time
on demand.correctly handle safe.directory for worktrees
safe.directory
now applies to configuration as wellThis means that repo-local configuration that is considered safe, ideally with
safe.directory=safe/dir/*
notation, will be usable for sensitive operations.make
fs::walkdir_sorted_new()
sort entries by paths literallyThis follows up
7b1b5bf
. Since packed-refsappears to be sorted by full ref name, loose-refs should also be emitted in
that order.
The comparison function is copied from gix::diff::object::tree::EntryRef.
Non-utf8 file names are simply mapped to "" on Windows. We could add some
fallback, but callers can't handle such file names anyway.
New Features (BREAKING)
RelativePath
for prefixed ref iteration.Its type captures the requirements better.
Commit Statistics
Thanks Clippy
Clippy helped 1 time to make code idiomatic.
Commit Details
view details
5396b2b
)ca16517
)safe.directory
now applies to configuration as well (24d235d
)fs::walkdir_sorted_new()
sort entries by paths literally (38b63c2
)49fa9f3
)db0b095
)0bf84db
)3b1bef7
)c3c6504
)6f009d7
)gix-date
andgix-actor
(afdf1a5
)70097c0
)b07f907
)737bb49
)359914c
)9e075b9
)96164c5
)fdc06b1
)294902e
)RelativePath
for prefixed ref iteration. (a6d7d70
)cd1a777
)edb449c
)3c16e53
)5823b22
)Cargo.toml
files in workspace togix-features
bump (6315536
)71275d1
)gix-ref
. (52142b4
)57c9014
)3aec7fb
)9f1fbc7
)b5e9059
)68e6b2e
)507d682
)3ca6811
)1612c73
)fc5faf2
)7502b4a
)6307f57
)8969245
)420e730
)v0.71.0
: gix v0.71.0Compare Source
Changed
debug_assertions
This should hopefully not be a breaking change, as the same code
could produce the same behaviour if compiled with different flags,
and the semantic meaning of the resulting configuration should be
the same. But Hyrum’s law is always lurking…
Documentation
New Features
Repository::checkout_options()
.It's a low-level set of options to drive (quite unsafe) checkouts.
They are unsafe as they may be configured to overwrite, and are in no
way similar to
git checkout
.Repository::head_tree_id_or_empty()
for convenience.Repository::workdir_path()
to easily obtain aPath
for worktree items.Repository::workdir()
as replacement forRepository::work_dir()
.Keep the latter as deprecated though.
filter::Pipeline::worktree_file_to_object()
now can addCommit
type objects.filter::Pipeline::worktree_file_to_object()
.That way it's easier to correctly add whole files into the object
database.
repo
fields public for ease of use.That way, functions or methods taking such a type as argument
have access to the underlying repository so it doesn't need
to be passed as separate argument.
blob::platform::Resource::intern_source_strip_newline_separators()
That way it will be easier to have typical Git-style patches diffs around
files that don't end with a newline.
Repository::big_file_threshold()
to easily learn what Git considers a big file.Bug Fixes
Don't panic when rev-parsing
^^^
and similarfilter::Pipeline::convert_to_git()
now also works on Windows under all circumstances.assure
Repository::commit_as()
also uses the committer for reflogsPreviously it would retrieve the configured committer, or trigger an error
if there was none despite the commiter being provided to
commit_as()
.This als adds
Repository::edit_references_as(committer)
to allow passinga given committer.
Other
Repository::commit()
now explains how to create a commit without ref updates.Changed (BREAKING)
The hashing API has moved to
gix_hash::hasher
, and we now usesha1-checked
unconditionally.Bug Fixes (BREAKING)
with_pruned()
is doing by renaming it towith_boundary()
.This is how it acts, and it's not at all the same as
hide()
ingit2
.Commit Statistics
Thanks Clippy
Clippy helped 1 time to make code idiomatic.
Commit Details
view details
Repository::commit_as()
also uses the committer for reflogs (9bec947
)^^^
and similar (aa8daf8
)ada5a94
)b41312b
)38dff41
)4660f7a
)gix_object::{try_ =>}compute_hash
users (3d7e379
)fbf6cc8
)fd12ef8
)cd96b64
)gix-features
(5f8bff8
)32b54b3
)5cb5337
)gix_fs::stack::ToNormalPathComponents
everywhere. (1f98edb
)impl
returns in traits. (569c186
)bfa3253
)filter::Pipeline::convert_to_git()
now also works on Windows under all circumstances. (dcdb8ea
)7b17da6
),
just before)
on same line in function calls (66a5ae1
)01bd76d
)7255a5f
)5a1b3d6
)316f113
)5e618b6
)8b1b55c
)config
corruption" (9061fc4
)config
corruption (d290ad9
)0bf1d5b
)dc8bd63
)GIT_AUTHOR_NAME
orGIT_COMMITTER_NAME
are set (94dda22
)Repository::checkout_options()
. (5054780
)Repository::head_tree_id_or_empty()
for convenience. (02878c9
)Repository::workdir_path()
to easily obtain aPath
for worktree items. (776f9be
)Repository::workdir()
as replacement forRepository::work_dir()
. (518fbbc
)10e41ee
)cf7f34d
)debug_assertions
(9800e9c
)16a248b
)8e96ed3
)b4fe425
)Repository::commit()
now explains how to create a commit without ref updates. (866affd
)503098d
)5c327bb
)filter::Pipeline::worktree_file_to_object()
now can addCommit
type objects. (27e62d7
)c042813
)filter::Pipeline::worktree_file_to_object()
. (70ebd5f
)repo
fields public for ease of use. (23d2bed
)914bf28
)blob::platform::Resource::intern_source_strip_newline_separators()
(37582b0
)daa6d4a
)with_pruned()
is doing by renaming it towith_boundary()
. (b78e7dd
)79cb655
)d7ddbb7
)687322b
)1a69c40
)Repository::big_file_threshold()
to easily learn what Git considers a big file. (f3257f3
)8df0db2
)v0.70.0
: gix v0.70.0Compare Source
Chore
rust-version
to 1.70That way clippy will allow to use the fantastic
Option::is_some_and()
and friends.
New Features
Repository::upstream_branch_and_remote_name_for_tracking_branch()
It's a way to learn about the Remote and upstream branch which would
match the given local tracking branch.
tree::Editor|editor::Cursor::get()
to see if an entry is loaded at path.This can be useful to get a feeling for how far the tree was already made available,
even though it won't reveal if an entry was edited.
Repository::is_dirty()
now also checks for tree/index changes.This copmpletes the
is_dirty()
implementation.Repository::tree_index_status()
to see the changes between a tree and an index.It also respects
status.rename
andstatus.renameLimit
to configure rename tracking.Tree::depthfirst()
with a delegate.This allows a depth-first traversal with a delegate.
blame
plumbing crate to the top-level.For now, it doesn't come with a simplified
gix
API though.Bug Fixes
Repository::status()
detects files added to the index in an unborn repository.Previously it wouldn't show them.
Respository::status()
iterator won't fail in unborn directories.worktrees of submodules now know their correct worktree
Previously they would use a very incorrect worktree which would cause
the status to be calculated very wrongly.
status-iterator won't swallow legitimate modification during 'racy-git'.
When a modification is marked as being racy, then previously the iterator would have
kept the whole modification even though it should just have tracked the single change.
This made the legitimate modification disappear.
write_blob_stream()
does not needSeek
trait anymore.Internally, it has to turn it into a buffer so it's not needed anymore.
It also counteracts the idea of using a stream with arbitrarily big files.
Submodule::status()
now konws about tree-index changes as well.This completes the status implementation.
remove unused fetch-error variants
Note that it's a breaking change, but it's on top of a previous breaking change
so folks would already have to update explicitly.
Other
Repository::worktrees()
lists linked worktrees.Excluding the main worktree which isn't always present.
New Features (BREAKING)
add
status::Platform::into_iter()
for obtaining a complete status.Note that it is still possible to disable the head-index status.
Types moved around, effectivey removing the
iter::
module for mostmore general types, i.e. those that are quite genericlally useful in
a status.
Bug Fixes (BREAKING)
config::Snapshot
access now uses the newKey
trait.That way one can officially use "section.name" strings or
&Section::NAME
.Commit Statistics
Thanks Clippy
Clippy helped 1 time to make code idiomatic.
Commit Details
view details
Repository::status()
detects files added to the index in an unborn repository. (cd8fabf
)1f6390c
)90e08f1
)fe33fa7
)4c8200f
)47e44c5
)Respository::status()
iterator won't fail in unborn directories. (84019cb
)34fa6bb
)gix-status
(25d480c
)e4fb21e
)dbf079f
)af8f201
)Repository::upstream_branch_and_remote_name_for_tracking_branch()
(da0e1c7
)gix-refspec
(6d7dd9b
)7ec21bb
)rust-version
to 1.70 (17835bc
)Repository::worktrees()
lists linked worktrees. (9db2160
)bc02284
)1ca480a
)9193b05
)8d84818
)5b6e5c8
)af704f5
)tree::Editor|editor::Cursor::get()
to see if an entry is loaded at path. (3b53982
)3bbd1f7
)write_blob_stream()
does not needSeek
trait anymore. (a03bde5
)0ab4f64
)Submodule::status()
now konws about tree-index changes as well. (a987e68
)status::Platform::into_iter()
for obtaining a complete status. (801689b
)config::Snapshot
access now uses the newKey
trait. (a6f397f
)Repository::is_dirty()
now also checks for tree/index changes. (8ae9e57
)Repository::tree_index_status()
to see the changes between a tree and an index. (83f3d93
)Tree::depthfirst()
with a delegate. (592e250
)gix-traverse
(1de4e70
)6ed9976
)blame
plumbing crate to the top-level. (25efbfb
)7659a65
)3fb0c18
)51a4301
)d22937f
)v0.69.1
Compare Source
v0.69.0
: gix v0.69.0Compare Source
Changed
Adjust gix::dirwalk::Options::{X,set_X} parameter names
This adjusts the names of parameters to
X
andset_X
methods ofgix::dirwalk::Options
(whereX
is an option name) to use asystematic naming convention:
X
, theX
andset_X
methods now alwayshave the same name of the parameter that specifies a value for an
option.
New Features
merge::tree::TreeFavor
similar to*::FileFavor
.That way it's possible to control how tree-conflicts should be auto-resolved.
Bug Fixes
Need to use absolute timestamps as it's impossible to control the system time.
Id
.This makes these types easier to use as it's enough to pass a wrapped type
to perform more actions on the underlying repository.
New Features (BREAKING)
move all possible code from
gix
togix-protocol
.For now, just move the code down and immediately re-integrate in
gix
to be able to use its tests to validate it.
This is a breaking change as some types move and change the layout.
Add
gix-shallow
crate and use it fromgix
andgix-protocol
That way it's easier to reuse shallow-handling code from plumbing crates.
Note that this is a breaking change as
gix-protocol
now uses thegix-shallow::Update
type, which doesn't implement a formerly public
from_line()
method anymore.Now it is available as
fetch::response::shallow_update_from_line()
.Bug Fixes (BREAKING)
symlinks_to_directories_are_ignored_like_directories by value
The methods of
gix::dirwalk::Options
are paired, where for eachoption
X
ofOptions
, a method named likeX
takes and returnsself
by value, and a methodset_X
takes and returnsself
bymutable reference.
But in
symlinks_to_directories_are_ignored_like_directories
, bothtook
self
by mutable reference. This fixes that. The effect ofthis fix is to allow building
Options
with a call to that methodas the last factory method call (and using it where
Options
isaccepted but
&mut Options
is not).Most code that consumes the crate should be unaffected, but:
a call last should be able to be improved.
Commit Statistics
Commit Details
view details
c1ba571
)7ea8582
)df5cead
)14c3744
)cbdbb8a
)9662bc1
)d0df20a
)ca54b8c
)gix-protocol
(41b6571
)a542775
)gix-protocol
(25b8480
)ddeb97f
)gix
andgix-protocol
(fcb21a4
)gix
togix-protocol
. (e59fc09
)gix-shallow
crate and use it fromgix
andgix-protocol
(6367c7d
)cd9060a
)c0f4da5
)ea8b95f
)f8ba4b9
)regex_matches
partial suppressions (f4b4bf0
)520c832
)gix-diff
(960773e
)gix-merge
(aaeb427
)bd905a6
)Id
. (efc71fd
)gix
(b2b8181
)merge::tree::TreeFavor
similar to*::FileFavor
. (e17b3a9
)gix-merge
(3228de6
)e8b3b41
)Configuration
📅 Schedule: Branch creation - "after 1am every 3 weeks on Saturday" in timezone America/Los_Angeles, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.