github GitoxideLabs/gitoxide git-object-v0.14.1
git-object v0.14.1

3 years ago

This release greatly improves performance when decoding trees, a critical requirement when building packs
or generally trying to figure out what changed between commits.

Performance

  • Provide a new fast parser for tree objects which is used by the tree entry iterator.
  • parse entry mode into number instead of comparing it to byte strings

Commit Statistics

  • 47 commits contributed to the release over the course of 28 calendar days.
  • 3 commits where understood as conventional.
  • 2 unique issues were worked on: #198, #67

Commit Details

view details
  • #198
    • Fix stop-release-for-changelog logic and fix all affected changelogs (52b38bc)
    • deduplicate conventional message ids (e695eda)
    • regenerate all changelogs to get links (0c81769)
    • Mention actual issues that where worked on (a517e39)
    • Allow 'refactor' and 'other' in conventional messages if they have breaking changes (4eebaac)
    • Rebuild all changelogs to assure properly ordered headlines (4a9a05f)
    • Sort all commits by time, descending… (f536bad)
    • greatly reduce changelog size now that the traversal fix is applied (a0bc98c)
    • Generate changelogs with details (e1861ca)
    • Update all changelogs with details (58ab2ae)
    • Update changelogs (c857d61)
    • Avoid adding newlines which make writing unstable (6b5c394)
    • Fix section headline level (9d6f263)
    • Write first version of changlogs thus far… (719b6bd)
    • feat: BodyRef::without_trailer() for more obvious access than *body or body.as_ref() (f0ea526)
    • refactor (ef3fc6d)
    • feat: CommitRef::message_trailers() as shortcut… (5324391)
    • more tests for trailers iterator (c3b0161)
    • feat: BodyRef::trailers() allows iterating trailer tokens and values (175e1cb)
    • Some tests and sketch for BodyRef parsing (3953c24)
    • feat: CommitRef::summary() and MessageRef::body() methods (1714d05)
    • refactor (7055dc8)
    • Another test for footer separation, simple version (b439186)
    • Return to safety (35313b9)
    • omg nom parsing works… (cd11704)
    • FAIL: not really successful to continue down the 'fold' road (d9afc22)
    • three tests failing with nom (13646e8)
    • Revert " FAIL: try to use nom-way of the previous body parsing…" (d1e6f62)
    • FAIL: try to use nom-way of the previous body parsing… (909f668)
    • sketch nom version of the message parser… (1ec47de)
    • Fix build (d0a956f)
    • refactor!: Use git_object::commit::MessageRef::summary()… (13e7c3a)
    • feat(commit): A summary for commit messages suitable for logs (cd3fc99)
    • More message parsing tests with windows line separators (001e8c2)
    • A manual message parse impl and more tests (f4b8a0d)
    • More message parsing tests, now with legit failure… (625be8d)
    • feat(commit): Add message() method and MessageRef type… (6150b2d)
  • #67
    • describe variants (899c579)
    • parse entry mode into number instead of comparing it to byte strings (83d591d)
    • ObjectID specific hashers, using the fact that object ids are hashes (f9232ac)
    • Tree parsing now probably is twice as fast… (d1e2b89)
  • Uncategorized
    • Adjusting changelogs prior to release of git-hash v0.7.0, git-features v0.16.5, git-actor v0.5.3, git-validate v0.5.3, git-object v0.14.1, git-diff v0.10.0, git-tempfile v1.0.3, git-lock v1.0.1, git-traverse v0.9.0, git-pack v0.12.0, git-odb v0.22.0, git-packetline v0.11.0, git-url v0.3.4, git-transport v0.12.0, git-protocol v0.11.0, git-ref v0.8.0, git-repository v0.10.0, cargo-smart-release v0.4.0, safety bump 3 crates (a474395)
    • Update changelogs just for fun (21541b3)
    • Merge branch 'main' into changelog-generation (c956f33)
    • thanks clippy (d78d382)
    • thanks clippy (4ea1126)
    • thanks clippy (e56af5a)

Thanks Clippy

Clippy helped 3 times to make code idiomatic.

Don't miss a new gitoxide release

NewReleases is sending notifications on new releases.