github GitoxideLabs/gitoxide git-protocol-v0.25.0
git-protocol v0.25.0

23 months ago

New Features

  • fetch::Arguments::use_include_tag() allows to signal include-tag.
    One can also check for its availability using fetch::Arguments::can_use_include_tag().

    Further there was a bugfix that assues V1 capabilities are correctly interpreted to support
    include-tag.

  • due to more specific errors one can differentiate if remote authentication failed repeatedly.

  • some errors support is_spurious() to tell if retrying is possible.

Bug Fixes

  • don't pass 'include-tag' as argument by default.
    This flag always has to be added by the caller based on configuration.

  • don't post packfile-uris capability unless we are able to make use of it.
    Turns out that this option can be rejected by a server that advertises
    it, so definitely needs more work to make it work.

  • Parse refs from bytes, not from String.
    The latter can cause issues around illformed UTF-8 which wouldn't
    bother git either.

    This comes at the expense of not parsing line by line anymore, but
    instead reading as fast as possible and parsing afterwards.

    Performance wise I think it doesn't matter, but it will cause
    more memory to be used. If this ever becomes a problem,
    for example during pushes where we are stuck with V1, we can consider
    implementing our own streaming appreach that works with packet lines
    instead - they are just not exposed here even though they could.

Commit Statistics

  • 22 commits contributed to the release over the course of 27 calendar days.
  • 27 days passed between releases.
  • 6 commits were understood as conventional.
  • 1 unique issue was worked on: #639

Commit Details

view details
  • #639
    • don't post packfile-uris capability unless we are able to make use of it. (24000fa)
  • Uncategorized
    • prepare chnagelogs prior to git-repository release (7114bbb)
    • Merge branch 'adjustments-for-cargo' (083909b)
    • fetch::Arguments::use_include_tag() allows to signal include-tag. (5a50d95)
    • don't pass 'include-tag' as argument by default. (a872782)
    • Merge branch 'adjustments-for-cargo' (94750e1)
    • due to more specific errors one can differentiate if remote authentication failed repeatedly. (1c0a6c0)
    • Merge branch 'adjustments-for-cargo' (70ccbb2)
    • some errors support is_spurious() to tell if retrying is possible. (2363bcb)
    • adapt to changes in git-transport (527c62e)
    • Merge branch 'fix-638' (eb4c5f0)
    • Merge branch 'fixture-async' (eca6705)
    • async version of ref-line parsing now reads line by line. (dadd896)
    • Add Fixture implementation for async. (b583c2a)
    • Release git-hash v0.10.1, git-hashtable v0.1.0 (7717170)
    • Merge branch 'remove-lines-parsing' (9d8e32d)
    • Parse refs from bytes, not from String. (806b8c2)
    • adapt to changes in git-transport (49461b1)
    • Merge branch 'main' into http-config (6b9632e)
    • Release git-features v0.24.1, git-actor v0.14.1, git-index v0.9.1 (7893502)
    • Merge branch 'main' into http-config (bcd9654)
    • make fmt (0abab7d)

Don't miss a new gitoxide release

NewReleases is sending notifications on new releases.