github GitoxideLabs/gitoxide gix-validate-v0.11.4
gix-validate v0.11.4

one hour ago

Bug Fixes

  • reject a lone '@' as a reference name, like Git does
    @ is shorthand for HEAD in revision syntax, so Git refuses a reference
    name consisting solely of it - see check_or_sanitize_refname() in refs.c,
    which check_refname_format() delegates to. It substitutes - when
    sanitizing, which is done here too.

    The visible effect was in refspec destinations: git push origin "HEAD:@"
    fails with fatal: invalid refspec, while gix_refspec::parse("HEAD:@", Push)
    returned Ok(dst = "@"). Sources were already correct, as parse() rewrites a
    bare @ source to HEAD, but destinations reach reference::name_partial().

    @ remains valid as a component, so refs/heads/@ and a tag named @ are
    unaffected.

    Pins that @ is rejected by name() and name_partial() while staying valid
    inside a path (refs/heads/@, @/x, @@), and that inputs collapsing to a
    lone @ during sanitization are replaced too. The tag expectation changes
    because mktests! sanitizes as a reference name - a tag named @ is still
    valid, as refs/tags/@ is a legal ref.

Commit Statistics

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

Commit Details

view details
  • Uncategorized
    • Update manifests prior to release (ebe9095)
    • Merge pull request #2905 from GitoxideLabs/various-improvements (f3bbfad)
    • Adapt to changes in gix-testtools (0cbe539)
    • Merge pull request #2886 from ameyypawar/validate-at-refname (12240ab)
    • Review (1384133)
    • Reject a lone '@' as a reference name, like Git does (679f624)
    • Merge pull request #2812 from GitoxideLabs/report-july (ae8845a)

Don't miss a new gitoxide release

NewReleases is sending notifications on new releases.