github GitoxideLabs/gitoxide git-ref-v0.13.0
git-ref v0.13.0

2 years ago

New Features

  • ref iteration for worktrees.
    It merges the iteration result of private worktree refs along with
    all shared common references references.

Changed (BREAKING)

  • Transaction::commit(…) takes git-actor::SignatureRef instead of …::Signature.
    This makes the API more versatile and corrects a shortcoming that was
    caused by SignatureRef previously being unable to serialize itself.
  • remove FullName::to_ref() in favor of •::as_ref().
    This became possible now that FullNameRef is a proper ref, not just
    ref-like.

New Features (BREAKING)

  • Turn FullNameRef into an actual reference type.
    That way Cow<'_, FullNameRef> works as expected.

Commit Statistics

  • 67 commits contributed to the release over the course of 5 calendar days.
  • 43 days passed between releases.
  • 4 commits where understood as conventional.
  • 4 unique issues were worked on: #298, #301, #384, #393

Thanks Clippy

Clippy helped 4 times to make code idiomatic.

Commit Details

view details
  • #298
    • Enforce path conversion on windows gnu, it doesn't seem to like slashes (4d55a8f)
    • mention that failing path when a ref-file couldn't be read (ecb539a)
  • #301
    • update changelogs prior to release (84cb256)
    • ref iteration for worktrees. (4a5176a)
    • down to one borrowcheck error (7571be5)
    • possibly a step towards solving this traversal… (c64a77f)
    • prepare for dual-iteration (200384c)
    • make a common-dir iterator available (78658c7)
    • refactor (5521391)
    • try all prefixes when producing a relative path for error purposes (8cf0302)
    • restore previous non-namespace test (ba17b40)
    • refactor (1b3a6da)
    • refactor (7777f7e)
    • represent loose iteration in terms of the overlay iterator (ad37a64)
    • start preparing for multi-loose ref iteration, but… (014459b)
    • validate traversal of main repository refs in presence of worktrees (f067286)
    • refactor (c2ac110)
    • simplify worktree test to not include superfluous refs (c46d838)
    • Assure proper handling of transactions in linked worktrees (07dc555)
    • Humble beginnings of transaction testing within worktrees (6f52606)
    • many more tests around transactions and prefix handling (8f3a4b5)
    • assure that private worktree refs have their reflogs written (96efbb1)
    • Properly adjust names for prefixed refs for use in packed-refs and filter them (797af14)
    • prepare for filtering soon to be packed refs by name (3cea2ad)
    • uncover issue naming of refs written to packed-refs (1acf875)
    • a first test of main worktree transactions incl. changelog (9c5ab38)
    • adjusts to changes in git-ref (b362fb5)
    • Transaction::commit(…) takes git-actor::SignatureRef instead of …::Signature. (3d6299f)
    • first rough step towards support iteration (b987575)
    • prepare for tests that can write into our test repositories (096ee5f)
    • improve reflog base generation in transactions so it could possibly work (d69b56e)
    • Improve conversions as much as possible (befe949)
    • validate that owned values indeed can't be passed anymore (c78008e)
    • Avoid using Cow at all in favor of a simple &PartialNameref (1bc9a87)
    • This didn't get better, but probably will stay that way (7da239f)
    • See what it means to use Cow<PartialNameRef> (2ae129a)
    • All custom TryFrom implementations for Cow (15afec1)
    • Cow support for PartialNameRef (3e470da)
    • adapt to changes in git-ref (21109ca)
    • remove FullName::to_ref() in favor of •::as_ref(). (f1dbb6b)
    • reflog handling for worktree/ ref-names (77877e0)
    • parse the worktree name as part of the cateogry (7666034)
    • refactor (cebf736)
    • more fixes for worktree ref handling (1aa546d)
    • better packed refs lookup for worktree refs (2b6982e)
    • fix bugs with name resolution (3031f99)
    • Assure main-worktree is also resolved in the main worktree (bc3c05e)
    • assure nobody can bypass the namespace anymore (0079ab6)
    • frame for tests in worktree and main repositories (b12884a)
    • Assure namespaces are respected when calculating bases (4aac3c2)
    • fix docs (e189914)
  • #384
    • No need to isolate archives by crate name (19d46f3)
    • add archive files via git-lfs (7202a1c)
    • auto-set commit.gpgsign=false when executing git (c23feb6)
  • #393
    • Add support for disabling archive usage (624ad2e)
  • Uncategorized
    • fix git-ref dependencies (633e571)
    • Release git-hash v0.9.4, git-features v0.21.0, git-actor v0.10.0, git-glob v0.3.0, git-path v0.1.1, git-attributes v0.1.0, git-sec v0.1.0, git-config v0.3.0, git-credentials v0.1.0, git-validate v0.5.4, git-object v0.19.0, git-diff v0.16.0, git-lock v2.1.0, git-ref v0.13.0, git-discover v0.1.0, git-index v0.3.0, git-mailmap v0.2.0, git-traverse v0.15.0, git-pack v0.19.0, git-odb v0.29.0, git-packetline v0.12.5, git-url v0.5.0, git-transport v0.17.0, git-protocol v0.16.0, git-revision v0.2.0, git-worktree v0.2.0, git-repository v0.17.0, safety bump 20 crates (654cf39)
    • make fmt (e043807)
    • thanks clippy (4cff7a8)
    • Turn FullNameRef into an actual reference type. (0ace957)
    • A sketch to show how Cow could work (c6b2705)
    • thanks clippy (a20d282)
    • thanks clippy (c208912)
    • Merge branch 'main' into refs-and-worktrees (9cf0c7b)
    • thanks clippy (61d6d93)
    • Merge branch 'mzr-fix_empty_values' (09c8628)
    • fix clippy - many false positives this time (099bd5b)

Don't miss a new gitoxide release

NewReleases is sending notifications on new releases.