Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Dec 28, 2024

This PR contains the following updates:

Package Type Update Change
gix dependencies minor 0.68.0 -> 0.74.0

Release Notes

GitoxideLabs/gitoxide (gix)

v0.74.1

Compare Source

v0.74.0: gix v0.74.0

Compare Source

New Features
  • replace Reference::peel_to_id_in_place_packed
    Also, update documentation where it was still referring to deprecated
    in_place methods to refer to the new methods instead.

  • ability to change the fetch url of a remote
    The remote has a couple of "builder" methods to change
    is fields, e.g. push_url for setting the push url.

    A builder method for changing the fetch url of a remote
    was missing. This makes it impossible to fully replicate
    the functionality of git remote set-url.

  • replace Head::(try_)peel_to_x_in_place with Head::peel_to_x.
    The _in_place() suffixed methods are now deprecated.

  • Add Repository::new_commit and Repository::new_commit_as() methods.

  • add Repository::blame_file

  • Add gix::discover_with_environment_overrides()

  • support diff.ignoreSubmodules overrides in status

Bug Fixes
  • deprecate Remote::push_url*() in favor of Remote::with_push*().

  • remove special handling for empty blob hash to match Git behaviour
    This feature was recently introduced, but was never released.

  • empty blob hashes are now automatically considered present.

  • extend lifetime of iterators
    Previously the iterators would return references with lifetimes that
    were shorter than the actual lifetimes of the gix::Reference
    themselves. This was dues to a footgun with '_ (eliding the lifetime).

    When a function returns an elided lifetime, this lifetime usually is the
    lifetime of the &self parameter, but sometimes it is the lifetime of
    the type itself (e.g. Iter<'_>).

    I made the lifetimes explicit to ensure we were using the correct ones.

Commit Statistics
  • 64 commits contributed to the release over the course of 99 calendar days.
  • 99 days passed between releases.
  • 11 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
  • Uncategorized
    • Release gix-date v0.10.6, gix-utils v0.3.1, gix-actor v0.35.5, gix-trace v0.1.14, gix-validate v0.10.1, gix-path v0.10.21, gix-features v0.44.0, gix-hash v0.20.0, gix-hashtable v0.10.0, gix-object v0.51.0, gix-glob v0.22.0, gix-quote v0.6.1, gix-attributes v0.28.0, gix-command v0.6.3, gix-packetline-blocking v0.19.2, gix-filter v0.21.0, gix-fs v0.17.0, gix-chunk v0.4.12, gix-commitgraph v0.30.0, gix-revwalk v0.22.0, gix-traverse v0.48.0, gix-worktree-stream v0.23.0, gix-archive v0.23.0, gix-bitmap v0.2.15, gix-tempfile v19.0.0, gix-lock v19.0.0, gix-index v0.42.0, gix-config-value v0.15.2, gix-pathspec v0.13.0, gix-ignore v0.17.0, gix-worktree v0.43.0, gix-diff v0.54.0, gix-blame v0.4.0, gix-ref v0.54.0, gix-sec v0.12.1, gix-config v0.47.0, gix-prompt v0.11.2, gix-url v0.33.0, gix-credentials v0.31.0, gix-discover v0.42.0, gix-dir v0.16.0, gix-mailmap v0.27.3, gix-revision v0.36.0, gix-merge v0.7.0, gix-negotiate v0.22.0, gix-pack v0.61.0, gix-odb v0.71.0, gix-refspec v0.32.0, gix-shallow v0.6.0, gix-packetline v0.19.2, gix-transport v0.49.0, gix-protocol v0.52.0, gix-status v0.21.0, gix-submodule v0.21.0, gix-worktree-state v0.21.0, gix v0.74.0, gix-fsck v0.13.0, gitoxide-core v0.49.0, gitoxide v0.46.0, safety bump 42 crates (89fb308)
    • Merge pull request #​2217 from GitoxideLabs/copilot/update-msrv-to-rust-1-82 (4da2927)
    • Fixup Copilot commits and thank clippy (b188a7d)
    • Update MSRV to 1.82 and replace once_cell with std equivalents (6cc8464)
    • Merge pull request #​2202 from GitoxideLabs/dependabot/cargo/cargo-4a7155215a (9365cc3)
    • Bump the cargo group across 1 directory with 64 updates (838ff95)
    • Merge pull request #​2174 from cruessler/deprecate-in-place-methods (442f800)
    • Replace Reference::peel_to_id_in_place_packed (0380496)
    • Merge pull request #​2173 from metlos/remote-with-url (51f998f)
    • Deprecate Remote::push_url*() in favor of Remote::with_push*(). (620d275)
    • Ability to change the fetch url of a remote (1d4a7f5)
    • Merge pull request #​2171 from cruessler/deprecate-in-place-methods-on-head (81c0c16)
    • Merge pull request #​2170 from GitoxideLabs/copilot/fix-7a3e1d32-c145-43e2-8e87-319b255dbc2f (d302fa2)
    • Replace Head::(try_)peel_to_x_in_place with Head::peel_to_x. (b6fbf05)
    • Refactor (3499050)
    • Implement WriteTo trait for gix::Blob with comprehensive tests (ca99882)
    • Merge pull request #​2169 from GitoxideLabs/copilot/fix-54bce74a-dc5e-4361-b53b-326c16b34046 (e60e253)
    • Refactor (b9c7a7e)
    • Remove special handling for empty blob hash to match Git behaviour (e087960)
    • Merge pull request #​2168 from GitoxideLabs/copilot/fix-01a02b99-91ef-4e27-b90f-19af7d0d252c (f891c37)
    • Refactor (d4c2542)
    • Add Repository::new_commit and Repository::new_commit_as() methods. (3c0b737)
    • Merge pull request #​2167 from GitoxideLabs/copilot/fix-3952f55e-8faf-4737-886f-09e74cab4ca8 (1a4c84d)
    • Refactor (689d839)
    • Empty blob hashes are now automatically considered present. (2fc9dbe)
    • Merge pull request #​2163 from cruessler/deprecate-in-place-methods (42f8db5)
    • Adapt to changes in gix-ref (44922d0)
    • Merge pull request #​2153 from cruessler/add-blame-file-on-repository (bd47fb5)
    • Add blame to extras, and asssure it's tested separately on CI (3c54e5b)
    • Merge pull request #​2155 from folkertdev/skip-flate2 (752d6dc)
    • Refactor (0e7aa81)
    • In gix-features, use libz-rs-sys directly, skipping flate2 (5a2361b)
    • Merge pull request #​2154 from folkertdev/fix-gix-blame-performance-regression (768164a)
    • Add Repository::blame_file (cdb1100)
    • Fix gix-blame performance regresion (8dc5e98)
    • Merge pull request #​2143 from GitoxideLabs/improvements (eee5199)
    • Fix one failing test on MacOS (888b763)
    • Merge pull request #​2137 from tmm1/typo-fix (ad1e2ed)
    • Fix (8e451cf)
    • Merge pull request #​2106 from cruessler/add-open-with-environment-overrides (c149116)
    • Fail gix tag list when JSON is requested (fb2766b)
    • Add gix::discover_with_environment_overrides() (fa1287f)
    • Merge pull request #​2132 from EliahKagan/run-ci/overlap (a4b0d2c)
    • Add regenerated make_remote_config_repos archive (c8c84e4)
    • Use git config to make overlapping remotes in a test repo (4de96fc)
    • Make git remote failure clearer in make_remote_config_repos (8cabd16)
    • Merge pull request #​2119 from GitoxideLabs/improvements (f3be6e3)
    • Adapt to changes in gix-status (5da38e5)
    • Merge pull request #​2113 from GitoxideLabs/release (dc7343c)
    • Release gix-actor v0.35.4, gix-fs v0.16.1, gix-object v0.50.2, gix-ref v0.53.1 (79ba9d0)
    • Merge pull request #​2110 from jpgrayson/fix/gix-date-parse-raw (651f9fa)
    • Release gix-date v0.10.5 (4289ae6)
    • Merge pull request #​2107 from davidkna/feat-diff-ignore-sm (d4dd783)
    • Refactor (453bb2c)
    • Support diff.ignoreSubmodules overrides in status (6693ab9)
    • Merge pull request #​2105 from jalil-salame/fix-2103 (04a18f3)
    • Refactor (d4130c3)
    • Extend lifetime of iterators (ba563b0)
    • Merge pull request #​2100 from GitoxideLabs/release (202bc6d)
    • Release gix-actor v0.35.3, gix-path v0.10.20, gix-features v0.43.1, gix-object v0.50.1 (d64f257)
    • Merge pull request #​2097 from GitoxideLabs/fix-gix-date (589d63e)
    • Release gix-date v0.10.4 (007e3f6)
    • Remove a hack which makes '1979-02-26 18:30:00' special. (91b3220)
    • Merge pull request #​2075 from GitoxideLabs/improvements (784c046)

v0.73.0: gix v0.73.0

Compare Source

New Features
  • add repo.references().pseudo() for traversing refs like HEAD and FETCH_HEAD.
  • add Repository::committer_or_set_generic_fallback().
    That way one can always obtain a committer, even though it might
    not represent the entity actually committing.
  • add revision::walk::Platform::hide().
    This finally makes safe traversals possible and is what most people would want to use
    instead of boundary().
  • add gitoxide.parsePrecious configuration key to opt-in to precious file parsing.
  • add Repository::is_empty() to emulate the similar git2 API
  • add Repository::merge_bases_many() for simplified retrieval of multiple mergebases.
  • add 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.
  • add EntryRef::kind() as shortcut for EntryRef::mode().kind().
Bug Fixes
  • don't panic if remote::Connection::ref_map() doesn't finish the handshake
  • Repository::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 with GIT_WORK_TREE no longer triggers an error.
Other
  • Fixed no_locations options for diffing
Bug Fixes (BREAKING)
  • allow querying Repository::submodules() in an unborn repository.
    It's a breaking change merely because the error type changed.
Commit Statistics
  • 52 commits contributed to the release over the course of 79 calendar days.
  • 79 days passed between releases.
  • 13 commits were understood as conventional.
  • 2 unique issues were worked on: #​1985, #​2055
Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details
view details
  • #​1985
    • strict_config in conjunction with GIT_WORK_TREE no longer triggers an error. (3f85bf5)
  • #​2055
    • Don't panic if remote::Connection::ref_map() doesn't finish the handshake (427274b)
  • Uncategorized
    • Update changelogs prior to release (65037b5)
    • Merge pull request #​2061 from orthros/pseudo-refs (60c29a5)
    • Refactor (43f92b5)
    • Add repo.references().pseudo() for traversing refs like HEAD and FETCH_HEAD. (2affbab)
    • Merge pull request #​2071 from cruessler/add-accessors-to-change-ref (5335c84)
    • Adapt to changes in gix-diff (a0cef8b)
    • Merge pull request #​2070 from GitoxideLabs/dependabot/cargo/cargo-827bceb7eb (dab97f7)
    • Bump the cargo group across 1 directory with 68 updates (a9a8ea1)
    • Merge pull request #​2065 from cruessler/add-asset-dir-to-blame-copy-royal (3f2be40)
    • Fix CI by not using -t bad (73a30f8)
    • Merge pull request #​2062 from rickprice/minor_documentation_fixups (c2eb0c1)
    • Merge pull request #​2057 from GitoxideLabs/improvements (e8b7a4e)
    • Small documentation fixes (bfb1c34)
    • Thanks clippy (554ce13)
    • Repository::branch_remote_ref_name() won't fail on short names anymore. (a75b4a2)
    • Merge pull request #​2048 from ralphmodales/fetch-without-commiter-config (5cf6d05)
    • Add Repository::committer_or_set_generic_fallback(). (d7db360)
    • Add committer fallback for fetch (62e4bab)
    • Merge pull request #​2045 from uberroot4/main (298f22e)
    • Fixed no_locations options for diffing (b7c1f2c)
    • Merge pull request #​2037 from GitoxideLabs/hide (92febae)
    • Add revision::walk::Platform::hide(). (a9befb2)
    • Merge pull request #​2033 from GitoxideLabs/dependabot/cargo/cargo-b72232998d (f8d7c0a)
    • Bump the cargo group with 56 updates (151e3a5)
    • Merge pull request #​2029 from GitoxideLabs/submodule-all (b199c6e)
    • Add a test to assure subomdule.<name>.ignore = all is handled correctly. (657dec4)
    • Merge pull request #​2026 from EliahKagan/run-ci/check-msrv-next (40f5a56)
    • Use gix manifest rust-version in all MSRV checks (654a8fa)
    • Merge pull request #​2019 from GitoxideLabs/precious-opt-in (5f9de52)
    • Adapt to changes in gix-ignore and gix-glob, and more. (4ef7806)
    • Add gitoxide.parsePrecious configuration key to opt-in to precious file parsing. (85a24b3)
    • Merge pull request #​2016 from GitoxideLabs/improvements (7ae3797)
    • Add Repository::is_empty() to emulate the similar git2 API (b985766)
    • Allow querying Repository::submodules() in an unborn repository. (26ae766)
    • Merge pull request #​2014 from GitoxideLabs/zip (648022b)
    • Release gix-glob v0.20.1, gix-attributes v0.26.1, gix-command v0.6.1, gix-filter v0.19.2, gix-worktree-stream v0.21.2, gix-archive v0.21.2 (f0ed2cc)
    • Merge pull request #​2009 from GitoxideLabs/release-gix-index (c3f06ae)
    • Release gix-path v0.10.18, gix-date v0.10.2, gix-traverse v0.46.2, gix-index v0.40.1 (d2b4c44)
    • Merge pull request #​2000 from GitoxideLabs/improvements (fdfb239)
    • Add Repository::merge_bases_many() for simplified retrieval of multiple mergebases. (f687cb1)
    • Merge pull request #​1993 from EliahKagan/run-ci/baseline (7a33e2a)
    • Completely remove :/ baseline skip (b623bf1)
    • Flip :/ baseline skip from CI to local and extend (2400158)
    • Merge pull request #​1987 from GitoxideLabs/fix-1985 (189d1a0)
    • Merge pull request #​1975 from GitoxideLabs/improvements (28935a5)
    • Add tree::EntryRef::to_owned(). (3a5068e)
    • Merge pull request #​1977 from GitoxideLabs/dependabot/cargo/cargo-811d7b929d (800738a)
    • Bump the cargo group with 12 updates (4408166)
    • Add EntryRef::kind() as shortcut for EntryRef::mode().kind(). (3ef6b55)
    • Merge pull request #​1971 from GitoxideLabs/new-release (8d4c4d1)

v0.72.1: gix v0.72.1

Compare Source

Commit Statistics
  • 1 commit contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
  • Uncategorized
    • Bump all prior pratch levels to majors (5f7f805)

v0.72.0: gix v0.72.0

Compare 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 well
    This 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 literally
    This follows up 7b1b5bf. Since packed-refs
    appears 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)
  • use 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
  • #​1788
    • Add test to assure dynamic allocation of slots works (5396b2b)
  • #​1912
    • Correctly handle safe.directory for worktrees (ca16517)
    • safe.directory now applies to configuration as well (24d235d)
  • #​1928
    • Make fs::walkdir_sorted_new() sort entries by paths literally (38b63c2)
  • Uncategorized
    • Adjusting changelogs prior to release of gix-path v0.10.16, gix-features v0.42.0, gix-hash v0.17.1, gix-object v0.49.0, gix-glob v0.19.1, gix-quote v0.5.1, gix-attributes v0.25.1, gix-command v0.5.1, gix-packetline-blocking v0.18.4, gix-filter v0.19.0, gix-fs v0.14.1, gix-commitgraph v0.27.1, gix-revwalk v0.20.0, gix-traverse v0.46.0, gix-worktree-stream v0.21.0, gix-archive v0.21.0, gix-tempfile v17.0.1, gix-lock v17.0.1, gix-index v0.39.1, gix-config-value v0.14.13, gix-pathspec v0.10.1, gix-ignore v0.14.1, gix-worktree v0.40.1, gix-diff v0.52.0, gix-blame v0.2.0, gix-ref v0.52.0, gix-sec v0.10.13, gix-config v0.45.0, gix-prompt v0.10.1, gix-url v0.30.1, gix-credentials v0.28.1, gix-discover v0.40.0, gix-dir v0.14.0, gix-mailmap v0.27.0, gix-revision v0.34.0, gix-merge v0.5.0, gix-negotiate v0.20.0, gix-pack v0.59.0, gix-odb v0.69.0, gix-refspec v0.30.0, gix-shallow v0.3.1, gix-packetline v0.18.5, gix-transport v0.46.1, gix-protocol v0.50.0, gix-status v0.19.0, gix-submodule v0.19.0, gix-worktree-state v0.18.1, gix v0.72.0, gix-fsck v0.11.0, gitoxide-core v0.47.0, gitoxide v0.43.0, safety bump 7 crates (49fa9f3)
    • Release gix-date v0.10.0, gix-utils v0.2.1, gix-actor v0.35.0, gix-validate v0.9.5, gix-path v0.10.15, gix-features v0.42.0, gix-hash v0.17.1, gix-object v0.49.0, gix-glob v0.19.1, gix-quote v0.5.1, gix-attributes v0.25.0, gix-command v0.5.1, gix-packetline-blocking v0.18.4, gix-filter v0.19.0, gix-fs v0.14.0, gix-commitgraph v0.27.1, gix-revwalk v0.20.0, gix-traverse v0.46.0, gix-worktree-stream v0.21.0, gix-archive v0.21.0, gix-tempfile v17.0.1, gix-lock v17.0.1, gix-index v0.39.0, gix-config-value v0.14.13, gix-pathspec v0.10.1, gix-ignore v0.14.1, gix-worktree v0.40.0, gix-diff v0.52.0, gix-blame v0.2.0, gix-ref v0.51.0, gix-sec v0.10.13, gix-config v0.45.0, gix-prompt v0.10.1, gix-url v0.30.1, gix-credentials v0.28.1, gix-discover v0.40.0, gix-dir v0.14.0, gix-mailmap v0.27.0, gix-revision v0.34.0, gix-merge v0.5.0, gix-negotiate v0.20.0, gix-pack v0.59.0, gix-odb v0.69.0, gix-refspec v0.30.0, gix-shallow v0.3.1, gix-packetline v0.18.5, gix-transport v0.46.0, gix-protocol v0.50.0, gix-status v0.19.0, gix-submodule v0.19.0, gix-worktree-state v0.18.0, gix v0.72.0, gix-fsck v0.11.0, gitoxide-core v0.46.0, gitoxide v0.43.0, safety bump 30 crates (db0b095)
    • Update changelogs prior to release (0bf84db)
    • Merge pull request #​1935 from pierrechevalier83/fix_1923 (3b1bef7)
    • J fmt (c3c6504)
    • Thanks clippy (6f009d7)
    • Adapt to changes in gix-date and gix-actor (afdf1a5)
    • Apply feedback from discussion (70097c0)
    • Adapt to changes in gix-actor (b07f907)
    • Merge pull request #​1965 from GitoxideLabs/report (737bb49)
    • Merge pull request #​1964 from GitoxideLabs/fix-1912 (359914c)
    • Merge pull request #​1963 from joshtriplett/zlib-rs-default (9e075b9)
    • Switch to zlib-rs by default and drop other zlib backends (96164c5)
    • Merge pull request #​1921 from cruessler/introduce-repository-path (fdc06b1)
    • Refactor (294902e)
    • Use RelativePath for prefixed ref iteration. (a6d7d70)
    • Merge pull request #​1853 from GitoxideLabs/odb-issue (cd1a777)
    • Merge pull request #​1825 from DianaNites/diananites-reftable (edb449c)
    • Show that ref-tables aren't currently supported. (3c16e53)
    • Merge pull request #​1957 from EliahKagan/run-ci/versioning (5823b22)
    • Adapt Cargo.toml files in workspace to gix-features bump (6315536)
    • Merge pull request #​1954 from GitoxideLabs/fix-recursive-list-refs-prefix (71275d1)
    • Adapt to changes in gix-ref. (52142b4)
    • Fix ci failures (57c9014)
    • Merge pull request #​1953 from GitoxideLabs/dependabot/cargo/cargo-4a3cda0de8 (3aec7fb)
    • Bump the cargo group with 3 updates (9f1fbc7)
    • Merge pull request #​1949 from GitoxideLabs/dependabot/cargo/cargo-6893e2988a (b5e9059)
    • Bump the cargo group with 21 updates (68e6b2e)
    • Use Into<Cow<>> (507d682)
    • Handle trailing slash in ref list prefix filtering (3ca6811)
    • Merge pull request #​1933 from GitoxideLabs/release-gix-features (1612c73)
    • Release gix-features v0.41.1 (fc5faf2)
    • Merge pull request #​1931 from yuja/push-klrqpplwxrkx (7502b4a)
    • Merge pull request #​1917 from pierrechevalier83/issue_1887 (6307f57)
    • Adapt to changes in gix-object (8969245)
    • Merge pull request #​1919 from GitoxideLabs/release (420e730)

v0.71.0: gix v0.71.0

Compare Source

Changed
  • read config losslessly even without 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
  • specify ThreadSafeRepository is not Send/Sync without "parallel"
New Features
  • add 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.
  • add Repository::head_tree_id_or_empty() for convenience.
  • add Repository::workdir_path() to easily obtain a Path for worktree items.
  • add Repository::workdir() as replacement for Repository::work_dir().
    Keep the latter as deprecated though.
  • filter::Pipeline::worktree_file_to_object() now can add Commit type objects.
  • add filter::Pipeline::worktree_file_to_object().
    That way it's easier to correctly add whole files into the object
    database.
  • make internal 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.
  • add 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.
  • add Repository::big_file_threshold() to easily learn what Git considers a big file.
Bug Fixes
  • Don't panic when rev-parsing ^^^ and similar

  • filter::Pipeline::convert_to_git() now also works on Windows under all circumstances.

  • assure Repository::commit_as() also uses the committer for reflogs
    Previously 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 passing
    a given committer.

Other
  • Repository::commit() now explains how to create a commit without ref updates.
Changed (BREAKING)
  • drop obsolete SHA‐1 features
    The hashing API has moved to gix_hash::hasher, and we now use
    sha1-checked unconditionally.
Bug Fixes (BREAKING)
  • make clear what with_pruned() is doing by renaming it to with_boundary().
    This is how it acts, and it's not at all the same as hide() in git2.
Commit Statistics
Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details
view details
  • #​1829
    • Assure Repository::commit_as() also uses the committer for reflogs (9bec947)
  • #​1914
    • Don't panic when rev-parsing ^^^ and similar (aa8daf8)
  • Uncategorized
    • Release gix-sec v0.10.12, gix-config v0.44.0, gix-prompt v0.10.0, gix-url v0.30.0, gix-credentials v0.28.0, gix-discover v0.39.0, gix-dir v0.13.0, gix-mailmap v0.26.0, gix-revision v0.33.0, gix-merge v0.4.0, gix-negotiate v0.19.0, gix-pack v0.58.0, gix-odb v0.68.0, gix-refspec v0.29.0, gix-shallow v0.3.0, gix-packetline v0.18.4, gix-transport v0.46.0, gix-protocol v0.49.0, gix-status v0.18.0, gix-submodule v0.18.0, gix-worktree-state v0.18.0, gix v0.71.0, gix-fsck v0.10.0, gitoxide-core v0.46.0, gitoxide v0.42.0 (ada5a94)
    • Release gix-date v0.9.4, gix-utils v0.2.0, gix-actor v0.34.0, gix-features v0.41.0, gix-hash v0.17.0, gix-hashtable v0.8.0, gix-path v0.10.15, gix-validate v0.9.4, gix-object v0.48.0, gix-glob v0.19.0, gix-quote v0.5.0, gix-attributes v0.25.0, gix-command v0.5.0, gix-packetline-blocking v0.18.3, gix-filter v0.18.0, gix-fs v0.14.0, gix-commitgraph v0.27.0, gix-revwalk v0.19.0, gix-traverse v0.45.0, gix-worktree-stream v0.20.0, gix-archive v0.20.0, gix-tempfile v17.0.0, gix-lock v17.0.0, gix-index v0.39.0, gix-config-value v0.14.12, gix-pathspec v0.10.0, gix-ignore v0.14.0, gix-worktree v0.40.0, gix-diff v0.51.0, gix-blame v0.1.0, gix-ref v0.51.0, gix-config v0.44.0, gix-prompt v0.10.0, gix-url v0.30.0, gix-credentials v0.28.0, gix-discover v0.39.0, gix-dir v0.13.0, gix-mailmap v0.26.0, gix-revision v0.33.0, gix-merge v0.4.0, gix-negotiate v0.19.0, gix-pack v0.58.0, gix-odb v0.68.0, gix-refspec v0.29.0, gix-shallow v0.3.0, gix-packetline v0.18.4, gix-transport v0.46.0, gix-protocol v0.49.0, gix-status v0.18.0, gix-submodule v0.18.0, gix-worktree-state v0.18.0, gix v0.71.0, gix-fsck v0.10.0, gitoxide-core v0.46.0, gitoxide v0.42.0, safety bump 48 crates (b41312b)
    • Update changelogs prior to release (38dff41)
    • Merge pull request #​1915 from emilazy/push-qvyqmopsoltr (4660f7a)
    • Migrate gix_object::{try_ =>}compute_hash users (3d7e379)
    • Migrate hashing API users to fallible versions (fbf6cc8)
    • Drop obsolete SHA‐1 features (fd12ef8)
    • Merge pull request #​1851 from GitoxideLabs/fix-1850 (cd96b64)
    • Adapt to changes in gix-features (5f8bff8)
    • Merge pull request #​1916 from GitoxideLabs/fix-1914 (32b54b3)
    • Merge pull request #​1909 from cruessler/take-to-components-in-fs-stack (5cb5337)
    • Use gix_fs::stack::ToNormalPathComponents everywhere. (1f98edb)
    • Update MSRV to 1.75 for access to impl returns in traits. (569c186)
    • Merge pull request #​1911 from GitoxideLabs/improvements (bfa3253)
    • filter::Pipeline::convert_to_git() now also works on Windows under all circumstances. (dcdb8ea)
    • Merge pull request #​1907 from EliahKagan/run-ci/raw (7b17da6)
    • Drop trailing , just before ) on same line in function calls (66a5ae1)
    • Use raw literals for more strings with backslashes (01bd76d)
    • Merge pull request #​1898 from GitoxideLabs/improvements (7255a5f)
    • Improve documentation of a field that one can easily get wrong otherwise. (5a1b3d6)
    • Merge pull request #​1873 from NobodyXu/zlib-rs (316f113)
    • Review adjustments for zlib-rs support. (5e618b6)
    • Add new feature zlib-rs (8b1b55c)
    • Revert "Instrument make_remote_repos.sh to view config corruption" (9061fc4)
    • Instrument make_remote_repos.sh to view config corruption (d290ad9)
    • Merge pull request #​1884 from GitoxideLabs/improvements (0bf1d5b)
    • Merge pull request #​1876 from joshtriplett/fix-tests-in-environments-with-env-variables-set (dc8bd63)
    • Fix tests when GIT_AUTHOR_NAME or GIT_COMMITTER_NAME are set (94dda22)
    • Add Repository::checkout_options(). (5054780)
    • Add Repository::head_tree_id_or_empty() for convenience. (02878c9)
    • Add Repository::workdir_path() to easily obtain a Path for worktree items. (776f9be)
    • Add Repository::workdir() as replacement for Repository::work_dir(). (518fbbc)
    • Merge pull request #​1882 from emilazy/push-ylwwuwymlmwt (10e41ee)
    • Fix cargo-deny using a prodash-update and ignore directive (cf7f34d)
    • Read config losslessly even without debug_assertions (9800e9c)
    • Merge pull request #​1854 from GitoxideLabs/montly-report (16a248b)
    • Thanks clippy (8e96ed3)
    • Merge pull request #​1837 from GitoxideLabs/improvements (b4fe425)
    • Repository::commit() now explains how to create a commit without ref updates. (866affd)
    • Merge pull request #​1835 from GitoxideLabs/fixes (503098d)
    • Merge pull request #​1834 from GitoxideLabs/improvements (5c327bb)
    • filter::Pipeline::worktree_file_to_object() now can add Commit type objects. (27e62d7)
    • Merge pull request #​1833 from GitoxideLabs/improvements (c042813)
    • Add filter::Pipeline::worktree_file_to_object(). (70ebd5f)
    • Make internal repo fields public for ease of use. (23d2bed)
    • Merge pull request #​1821 from GitoxideLabs/improvements (914bf28)
    • Add blob::platform::Resource::intern_source_strip_newline_separators() (37582b0)
    • Merge pull request #​1820 from GitoxideLabs/improvements (daa6d4a)
    • Make clear what with_pruned() is doing by renaming it to with_boundary(). (b78e7dd)
    • Merge pull request #​1807 from bryceberger/bryce/push-xqrmpyoxlosq (79cb655)
    • Refactor (d7ddbb7)
    • Specify ThreadSafeRepository is not Send/Sync without "parallel" (687322b)
    • Merge pull request #​1785 from GitoxideLabs/improvements (1a69c40)
    • Add Repository::big_file_threshold() to easily learn what Git considers a big file. (f3257f3)
    • Merge pull request #​1778 from GitoxideLabs/new-release (8df0db2)

v0.70.0: gix v0.70.0

Compare Source

Chore
  • bump rust-version to 1.70
    That way clippy will allow to use the fantastic Option::is_some_and()
    and friends.
New Features
  • add 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.
  • more often check for interrupts in status iterator
  • add 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 and status.renameLimit to configure rename tracking.
  • add Tree::depthfirst() with a delegate.
    This allows a depth-first traversal with a delegate.
  • Add 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 need Seek 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
  • make really clear that 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 most
    more general types, i.e. those that are quite genericlally useful in
    a status.

Bug Fixes (BREAKING)
  • all config::Snapshot access now uses the new Key trait.
    That way one can officially use "section.name" strings or &Section::NAME.
Commit Statistics
  • 40 commits contributed to the release over the course of 27 calendar days.
  • 27 days passed between releases.
  • 18 commits were understood as conventional.
  • 1 unique issue was worked on: #​1770
Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details
view details
  • #​1770
    • Repository::status() detects files added to the index in an unborn repository. (cd8fabf)
  • Uncategorized
    • Update all changelogs prior to release (1f6390c)
    • Merge pull request #​1774 from EliahKagan/complex-graph-no-baseline-next (90e08f1)
    • Use parse_spec_no_baseline with :/ for all 2.47.* on CI (fe33fa7)
    • Merge pull request #​1772 from GitoxideLabs/improvements (4c8200f)
    • Merge pull request #​1769 from GitoxideLabs/improvements (47e44c5)
    • Respository::status() iterator won't fail in unborn directories. (84019cb)
    • Merge pull request [#&#

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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot changed the title fix(deps): update rust crate gix to 0.69.0 fix(deps): update rust crate gix to 0.70.0 Jan 18, 2025
@renovate renovate bot force-pushed the renovate/gix-0.x branch from 019cfc9 to a7bcbc5 Compare January 18, 2025 17:00
@renovate renovate bot force-pushed the renovate/gix-0.x branch from a7bcbc5 to 0fab243 Compare March 3, 2025 12:13
@renovate renovate bot force-pushed the renovate/gix-0.x branch from 0fab243 to 5a05f8f Compare April 4, 2025 05:56
@renovate renovate bot changed the title fix(deps): update rust crate gix to 0.70.0 fix(deps): update rust crate gix to 0.71.0 Apr 4, 2025
@renovate renovate bot changed the title fix(deps): update rust crate gix to 0.71.0 fix(deps): update rust crate gix to 0.72.0 Apr 26, 2025
@renovate renovate bot force-pushed the renovate/gix-0.x branch 2 times, most recently from 951d5e9 to 3b8e11f Compare April 26, 2025 06:49
@renovate renovate bot changed the title fix(deps): update rust crate gix to 0.72.0 fix(deps): update rust crate gix to 0.71.0 Apr 26, 2025
@renovate renovate bot force-pushed the renovate/gix-0.x branch from 3b8e11f to 95e2442 Compare April 26, 2025 11:07
@renovate renovate bot changed the title fix(deps): update rust crate gix to 0.71.0 fix(deps): update rust crate gix to 0.72.0 Apr 26, 2025
@renovate renovate bot force-pushed the renovate/gix-0.x branch from 95e2442 to 149641f Compare July 15, 2025 05:53
@renovate renovate bot changed the title fix(deps): update rust crate gix to 0.72.0 fix(deps): update rust crate gix to 0.73.0 Jul 15, 2025
@renovate renovate bot force-pushed the renovate/gix-0.x branch from 149641f to 26121eb Compare October 22, 2025 17:53
@renovate renovate bot changed the title fix(deps): update rust crate gix to 0.73.0 fix(deps): update rust crate gix to 0.74.0 Oct 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant