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

3 months ago

New Features

  • enable tracing with the new tracing feature in the Cargo manifest.
    That way, it's easier to directly enable tracing, instead of having to
    resort to gix-features.
  • add config::section::filter() for the default section filter.
    Provide the default implementation to determine which configuration
    sections should be trusted.
  • provide config::credential_helpers() function to configure an invocation.
    That way it's possible to use git credential helpers even without a Repository instance.
  • export gix_validate as validate.
    The crate appears in the public API of gix_index::State::from_tree
    but it's types weren't readily available.
  • add PrepareFetch::with_ref_name() to control which ref is checked out.

Bug Fixes

  • make sure that refs/heads/HEAD isn't considered conflicting

  • re-export gix_validate as it's now part of the public API.
    This allows calling State::from_tree().

  • don't attempt negotiation without any refspec-mappings
    Previously, when a shallow operation was specified, it was possible
    to skip past the no-change test and attempt to negotiate even though
    there was nothing to want.

    This is now 'fixed' by simply aborting early if there is no refspec
    mapping at all.

    Further, it aborts as early as possible with a nicer error message,
    after all, there is no use in having no mapping.

    Note that it's explicitly implemented such that obtaining such an empty
    refmap is fine, but trying to receive it is not. That way, the user can
    obtain information about the server without anything being an error.

Other

  • gate parking_lot behind interrupt feature

New Features (BREAKING)

  • gix-config convenience initiative
    A new gix_config::AsKey trait allows all gix_config::File methods
    to receive an implementation of AsKey instead of the tuple of
    (section, subsection, value_name). This is the default, and all
    methods that take a tuple have been renamed to <name>_by(), note the _by suffix.

    The terminology was reworked so that key is now only used to identify a value.

    This change also affects the public API of gix, which provides
    ways to set values on configuration snapshots which now by default
    will only take a AsKey implementation.

    Note that gix::config::tree::* keys now also implement AsKey,
    which allows them to be used more conveniently when setting values,
    too.

Commit Statistics

  • 52 commits contributed to the release over the course of 58 calendar days.
  • 62 days passed between releases.
  • 10 commits were understood as conventional.
  • 2 unique issues were worked on: #1405, #1428

Thanks Clippy

Clippy helped 2 times to make code idiomatic.

Commit Details

view details
  • #1405
    • Don't attempt negotiation without any refspec-mappings (a146d14)
  • #1428
    • Make sure that refs/heads/HEAD isn't considered conflicting (40d1881)
  • Uncategorized
    • Release gix-actor v0.31.5, gix-filter v0.11.3, gix-fs v0.11.2, gix-commitgraph v0.24.3, gix-revwalk v0.13.2, gix-traverse v0.39.2, gix-worktree-stream v0.13.1, gix-archive v0.13.2, gix-config-value v0.14.7, gix-tempfile v14.0.1, gix-ref v0.45.0, gix-sec v0.10.7, gix-config v0.38.0, gix-prompt v0.8.6, gix-url v0.27.4, gix-credentials v0.24.3, gix-ignore v0.11.3, gix-index v0.33.1, gix-worktree v0.34.1, gix-diff v0.44.1, gix-discover v0.33.0, gix-pathspec v0.7.6, gix-dir v0.6.0, gix-mailmap v0.23.5, gix-negotiate v0.13.2, gix-pack v0.51.1, gix-odb v0.61.1, gix-transport v0.42.2, gix-protocol v0.45.2, gix-revision v0.27.2, gix-refspec v0.23.1, gix-status v0.11.0, gix-submodule v0.12.0, gix-worktree-state v0.11.1, gix v0.64.0, gix-fsck v0.4.1, gitoxide-core v0.39.0, gitoxide v0.37.0 (6232824)
    • Release gix-glob v0.16.4, gix-attributes v0.22.3, gix-command v0.3.8, gix-filter v0.11.3, gix-fs v0.11.2, gix-commitgraph v0.24.3, gix-revwalk v0.13.2, gix-traverse v0.39.2, gix-worktree-stream v0.13.1, gix-archive v0.13.2, gix-config-value v0.14.7, gix-tempfile v14.0.1, gix-ref v0.45.0, gix-sec v0.10.7, gix-config v0.38.0, gix-prompt v0.8.6, gix-url v0.27.4, gix-credentials v0.24.3, gix-ignore v0.11.3, gix-index v0.33.1, gix-worktree v0.34.1, gix-diff v0.44.1, gix-discover v0.33.0, gix-pathspec v0.7.6, gix-dir v0.6.0, gix-mailmap v0.23.5, gix-negotiate v0.13.2, gix-pack v0.51.1, gix-odb v0.61.1, gix-transport v0.42.2, gix-protocol v0.45.2, gix-revision v0.27.2, gix-refspec v0.23.1, gix-status v0.11.0, gix-submodule v0.12.0, gix-worktree-state v0.11.1, gix v0.64.0, gix-fsck v0.4.1, gitoxide-core v0.39.0, gitoxide v0.37.0 (a1b73a6)
    • Update manifests (by cargo-smart-release) (0470df3)
    • Prepare changelog prior to release (99c00cc)
    • Merge branch 'fixes' (b4dba1c)
    • Add more tests for remote name validation (1267712)
    • Thanks clippy (113cbcc)
    • Release gix-path v0.10.9 (15f1cf7)
    • Merge branch 'fix-1428' (caae926)
    • Merge branch 'fix-1440' (f87322e)
    • Adapt to changes in gix-testtools (f5a9884)
    • Release gix-actor v0.31.4, gix-object v0.42.3 (bf3d82a)
    • Merge branch 'heredocs' (7330844)
    • Regenerate archives (a4bb7b9)
    • Use << rather than <<- heredoc operator (2641f8b)
    • Release gix-actor v0.31.3, gix-mailmap v0.23.4 (1e79c5c)
    • Allow use_http_path to be set in config::credential_helpers() (55cbc1b)
    • Enable tracing with the new tracing feature in the Cargo manifest. (41e018d)
    • Merge branch 'config-globals' (929744a)
    • Merge pull request #1430 from klensy/deps (ab02aa9)
    • Gate parking_lot behind interrupt feature (d9a813f)
    • Add config::section::filter() for the default section filter. (5c7e744)
    • Provide config::credential_helpers() function to configure an invocation. (478bbc1)
    • Release gix-mailmap v0.23.3 (0c5d1ff)
    • Release gix-path v0.10.8 (8d89b86)
    • Merge branch 'various-fixes' (f71b7a0)
    • Re-export gix_validate as it's now part of the public API. (c8c56ae)
    • Export gix_validate as validate. (afc6e25)
    • Release gix-date v0.8.7, gix-mailmap v0.23.2 (c1d7c02)
    • Merge branch 'tar-only' (1dfa90d)
    • Remove binary files in favor of tar files (dcab79a)
    • Merge branch 'config-key' (5663a2c)
    • gix-config convenience initiative (0ec2389)
    • Addditional fixes on top of the merge commit (dbe1f22)
    • Merge branch 'main' into config-key-take-2 (9fa1054)
    • Merge branch 'feat/checkout-other-refs' (ecfde07)
    • Thanks clippy (f36b9bd)
    • Improve documentation of PrepareCheckout and make it easier to use (39180b4)
    • Add PrepareFetch::with_ref_name() to control which ref is checked out. (acbfa6f)
    • Squash 11 commits that get started with allowing to checkout a particular branch (0912a46)
    • Merge branch 'status' (2f9f0ac)
    • Merge pull request #1407 from jsimonrichard/06-19-add_rela_path_to_Item (2856434)
    • Add rela_path to crate::status::index_worktree::iter::Item (1dc4568)
    • Merge pull request #1361 from EliahKagan/freebsd (9c65d98)
    • Regenerate archives for changed scripts (ea12fc2)
    • Make bash script shebangs more portable (68cbea8)
    • Release gix-fs v0.11.1, gix-glob v0.16.3 (2cefe77)
    • Merge pull request #1385 from Byron/fix-gix-ref (8da55a3)
    • Release gix-ref v0.44.1 (2d0a352)
    • Release gix-archive v0.13.1 (bd32c7a)

Don't miss a new gitoxide release

NewReleases is sending notifications on new releases.