github GitoxideLabs/gitoxide gix-v0.54.0
gix v0.54.0

13 months ago

New Features

  • Add PathspecDetached as pathspec that can more easily be used across threads.
  • PathSpec implements gix_status::PathSpec to allow it to be used there.
    The reason we need a trait and can't do with simply a function is that multiple calls
    are needed to test for inclusion and allow the common-prefix optimization.
  • add Repository::stat_options() to learn how an index would compare filesystem stats.
  • add parallel feature toggle
    Make certain data structure threadsafe (or Sync) to facilitate multithreading.
    Further, many algorithms will now use multiple threads by default.
    If unset, most of gix can only be used in a single thread
    as data structures won't be Send anymore.

Bug Fixes

  • do not trust ctime by default.
    On MacOS it seems to be off by two seconds right from the source, which
    seems to be an issue stat isn't having.
  • ignore empty core.askpass settings
    This is the same as what git does, it's explicit per value, which
    means that other paths might be flagged as empty automatically.

Other

  • add note about the trust-model.
    It should explain why gix is happy to open repositories that won't
    be handled by git unless overrides are set.

Test

  • add assertion to assure ThreadSafeRepository is sync.
    If it doesn't appear to be sync, be sure to use the max-performance-safe feature.

Bug Fixes (BREAKING)

  • PrepareCheckout::main_worktree() now takes Progress as geric argument.
    This makes it more flexible and convenient, but is technically a breaking change.

Commit Statistics

  • 30 commits contributed to the release over the course of 15 calendar days.
  • 15 days passed between releases.
  • 9 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Prepare changelogs prior to release (8a60d5b)
    • Merge branch 'reset' (54a8495)
    • Add PathspecDetached as pathspec that can more easily be used across threads. (f9d14d8)
    • Do not trust ctime by default. (e22893c)
    • PathSpec implements gix_status::PathSpec to allow it to be used there. (f066f98)
    • Add Repository::stat_options() to learn how an index would compare filesystem stats. (a8333f1)
    • Fix compile time warning (4ce7f7c)
    • Merge branch 'parallel-feature' (c270f78)
    • Add parallel feature toggle (2734e84)
    • Add assertion to assure ThreadSafeRepository is sync. (79e47a5)
    • Merge pull request #1015 from NobodyXu/optimize/prepare-checkout (14312b6)
    • Merge branch 'path-config' (9c528dc)
    • Merge pull request #1012 from NobodyXu/optimization/try-into-de-momo (afb1960)
    • Ignore empty core.askpass settings (334281c)
    • Merge branch 'optimize/progress-use' (1f2ffb6)
    • PrepareCheckout::main_worktree() now takes Progress as geric argument. (ee9276f)
    • Add note about the trust-model. (e022096)
    • Optimize `clone::PrepareCheckout::main_worktree`` (938f518)
    • Fix maybe_async (c80e809)
    • Rm unused clippy lint (d82f84b)
    • Fixed error by also using trait object in remote::fetch::Prepare::receive (44faa01)
    • Revert changes to binary files (3eb8653)
    • Rm binary files (6a33594)
    • Use trait object for progress in PrepareFetch::fetch_only (70989b3)
    • Fix clippy warnings (d5aa2ba)
    • Optimize Repository::write_blob_stream: Avoid dup codegen (ca8a373)
    • Apply gix_macros::momo to Repository::write_blob (bae928d)
    • Optimize Repository::write_object: Avoid dup momo (32f1c7d)
    • Rm unnecessary lifetime annotation in Repository::commit_as_inner (cf70a2e)
    • Optimize gix: de-momo impl TryInto by hand (b19c140)

Don't miss a new gitoxide release

NewReleases is sending notifications on new releases.