github Byron/gitoxide git-pack-v0.12.0
git-pack v0.12.0

2 years ago

This release contains bugfixes and features, but is considered breaking as git-traverse
signalled a breaking change which is one of our dependencies.

New Features

  • dynamically sized full-object speeds up diff-based object counting
    which is what happens when counting objects for fetches where only changed objects should be sent.
  • cache::Object trait for caching and retrieving whole objects
  • control pack and object cache size in megabytes
  • object cache size is configurable

Bug Fixes

  • don't put more objects into the pack cache than needed.

    Previously when accessing a packed object, it would store the base
    object into the pack cache (if it wasn't retrieved from there)
    which is great if that operation is free.

    Since it isn't, it's better not to stress the cache with puts
    and trash more objects than necessary.

    Now only the last decompressed object will be put into the LRU cache.

  • don't include submodules in count,
    which avoids dealing with missing objects entirely. Those ominous missing objects where just git submodules after all.

    It's still a good idea to handle these gracefully though, git itself
    seems to ignore them, too, and so do we at least for now.

Performance

  • ObjectID specific hashers, using the fact that object ids are hashes

Commit Statistics

  • 33 commits contributed to the release over the course of 32 calendar days.
  • 10 commits where understood as conventional.
  • 3 unique issues were worked on: #164, #198, #67

Commit Details

view details
  • #164
    • Avoid duplicate module paths in 'tree' and 'commit' (2f2d856)
  • #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)
    • don't put more objects into the pack cache than needed (d8fe814)
    • Fixup remaining changelogs… (2f75db2)
    • 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)
    • Parse more user generated section content, adapt existing changelogs to work correctly (2f43a54)
  • #67
    • ObjectID specific hashers, using the fact that object ids are hashes (f9232ac)
    • Use a custom hasher for 'seen' objects hashset… (70179e2)
    • don't include submodules in count… (faf6f81)
    • control pack and object cache size in megabytes (60c9fad)
    • Use 'cache::Object' trait where it matters (71c628d)
    • split data::output::count::objects into files (8fe4612)
    • cache::Object trait for caching and retrieving whole objects (50cf610)
    • object cache size is configurable (5a8c2da)
    • dynamically sized full-object speeds up diff-based object counting… (d6c44e6)
    • Count ref-deltas in thin packs as well (80c6994)
    • Add '--thin' flag to pack-create and pass it on (2664d73)
  • 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)
    • make fmt, but now it picked up some parts that usually don't get altered… (01f7b72)
    • Update changelogs just for fun (21541b3)
    • Bump git-traverse v0.9.0, safety bump 8 crates (d39fabb)

Don't miss a new gitoxide release

NewReleases is sending notifications on new releases.