Tags give the ability to mark specific points in history as being important
-
git-protocol-v0.14.0
b286b24a · ·A maintenance release with no relevant changes. ### Commit Statistics - 11 commits contributed to the release over the course of 51 calendar days. - 55 days passed between releases. - 0 commits where understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #279 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 2 times to make code idiomatic. ### Commit Details * **#279** - adjust to changes in git-hash (07aa1bc) * **Uncategorized** - Release git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (42ebb53) - Release git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (1b76119) - Release git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (8f57c29) - Release git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (d78aab7) - Release git-hash v0.9.1, git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0, safety bump 4 crates (373cbc8) - prepare changelogs for release (674ec73) - prepar changelogs for cargo-smart-release release (8900d69) - Release git-bitmap v0.0.1, git-hash v0.9.0, git-features v0.19.0, git-index v0.1.0, safety bump 9 crates (4624725) - thanks clippy (4ca9e07) - thanks clippy (7dd2313) -
git-transport-v0.15.0
42ebb536 · ·A maintenance release with no relevant changes. ### Commit Statistics - 9 commits contributed to the release over the course of 41 calendar days. - 55 days passed between releases. - 0 commits where understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #279 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **#279** - Adjust to changes in git-hash and git-pack (0cae25b) * **Uncategorized** - Release git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (1b76119) - Release git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (8f57c29) - Release git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (d78aab7) - Release git-hash v0.9.1, git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0, safety bump 4 crates (373cbc8) - prepare changelogs for release (674ec73) - prepar changelogs for cargo-smart-release release (8900d69) - Release git-bitmap v0.0.1, git-hash v0.9.0, git-features v0.19.0, git-index v0.1.0, safety bump 9 crates (4624725) - thanks clippy (4ca9e07) -
git-url-v0.3.5
42ebb536 · ·A maintenance release with no relevant changes. ### Commit Statistics - 7 commits contributed to the release over the course of 41 calendar days. - 100 days passed between releases. - 0 commits where understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' where seen in commit messages ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **Uncategorized** - Release git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (1b76119) - Release git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (8f57c29) - Release git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (d78aab7) - Release git-hash v0.9.1, git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0, safety bump 4 crates (373cbc8) - prepare changelogs for release (674ec73) - prepar changelogs for cargo-smart-release release (8900d69) - thanks clippy (4ca9e07) -
git-packetline-v0.12.3
42ebb536 · ·A maintenance release thanks to changed dependencies. ### Commit Statistics - 10 commits contributed to the release over the course of 51 calendar days. - 55 days passed between releases. - 0 commits where understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #279 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 2 times to make code idiomatic. ### Commit Details * **#279** - Adjust to changes in git-hash and git-pack (0cae25b) - adapt to changes in git-hash (82fec95) * **Uncategorized** - Release git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (1b76119) - Release git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (8f57c29) - Release git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (d78aab7) - Release git-hash v0.9.1, git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0, safety bump 4 crates (373cbc8) - prepare changelogs for release (674ec73) - prepar changelogs for cargo-smart-release release (8900d69) - thanks clippy (d1a956d) - thanks clippy (7dd2313) -
git-odb-v0.26.0
42ebb536 · ·### New Features - git_pack::Find::try_find_cached(…, pack_cache) With this method it's easier to bypass local caches and control the cache oneself entirely. - add linked::Store::rc_iter() For completeness in case of single-threaded operations - linked::Store sorts bundles by modification date, newest first - A simplified version of the `Find` trait It's meant for the next generation of object db handles which keep a local cache of all the details of the actual object database. ### Bug Fixes - support Rust 1.52 - linked::Store now assures unique IDs across compound stores ### Changed (BREAKING) - cleanup and unify `verify_integrity()` method signature Previously they used many different ways of handling their parameters despite all boiling down to calling the same 'index::File::traverse()` method. This allows for more reuse of `Options` structs and generally makes clearer how these optinos are used. - Change accessors named `hash_kind()` to `object_hash()` for consistency - consistently use `object_hash` instead of `hash_kind` - remove `Write::*(…, hash_kind)` The `hash_kind` is now intrinsic to the implementation of the write trait and thus isn't passed along anymore in parameters. The `sink()` function now takes the kind of hash as parameter. - various changes to the `loose::Store`. Change `path` field to read-only `path()` method add `hash_kind` parameter to `loose::Store::at(…, hash_kind)` - move `sink::Sink` to the top-level exclusively - move `loose::iter::Iter` to `loose::Iter` - remove `make_object_cache` parameter from `git_pack::data::output::count::objects()` It now is an implementation detail of the Find trait. - Rename `Handle` to `Cache` Because this is exactly what it is effectively. Also add some basic instantiation for the new object store. - remove pack-cache from `Find::try_find(…)` With the new architecture this can be an implementation detail without forcing it to be Sync. - move git_pack::data::Object to git_object::Data, massively alter git_odb::Find trait This will break a lot, but has to happen to prepare these traits for the next generation of object databases. ### New Features (BREAKING) - `Cache::inner` removed in favor of `Deref/Mut` and `into_inner()` Making the `inner` field available allows changing it, which would make it potentially incompatible with existing caches. The new implementation makes it essentially read-only while allowing more convenient access to methods on `inner`. ### Commit Statistics - 163 commits contributed to the release over the course of 51 calendar days. - 55 days passed between releases. - 24 commits where understood as [conventional](https://www.conventionalcommits.org). - 6 unique issues were worked on: #260, #266, #279, #287, #293, #298 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 4 times to make code idiomatic. ### Commit Details * **#260** - linked::Store now assures unique IDs across compound stores (b605c1f) * **#266** - More explicit information about how much garbaged is in the slotmap (cfd36ee) - assure stable handles can actually access the indices hey need (9474a43) - a failing test to show the handle-stability doesn't quite work yet (5562e88) - refactor (c499843) - docs for dynamic object store (2c2a2e9) - Default handle refresh mode is the least surprising, with option to configure (1b74c14) - remove unused dependencies (c800fdd) - refactor (b88f253) - refactor (52a4dcd) - refactor (3da91ce) - move `sink::Sink` to the top-level exclusively (ab4e726) - dynamic store module cleanu (494772c) - adapt to changes in git-odb (a44dd4b) - move `loose::iter::Iter` to `loose::Iter` (8bb5c9a) - minor improvements to module layout, docs (0364f48) - fix docs (360bf9d) - Make single-threaded programs possible to use with git-repository (dde5c6b) - A more suitable iterator implementation for general store (af0cc5f) - A quick and dirty version index iteration (0384007) - Use new store in git-repository (2f9e342) - Use new odb in place of the old one and it works (8ad25c5) - remaining methods of git-pack::Find (92b9764) - Make find::Entry self-contained (ad36fb9) - Remove iterator access in favor of fully owned data (62d3f10) - It shows that we can't return anything referenced from the interior-mutable handle (b9f308b) - refactor (6cb474e) - prepare implementation of location-dependent methods (5de29f4) - refactor (2c23f42) - Impl git_odb::Write for general::Handle (b7a6ab7) - cleanup (a4f3670) - A way to predict the amount of slots needed for smooth operation (a3a16d6) - finding objects and dynamically loading packs seems to work (8f58c30) - add docs for handle-related functions (cf1b1e6) - first sketch of looking up objects with pack cache (a0aae84) - add contains checks for libgit2 (c64a45a) - Add MRU to contains() even faster contains checks (6525847) - Load an index right after refreshing items from disk (0c40eb3) - some more assertions for contains() regarding refresh mode (3f8c540) - Try reusing mappings, but no LRU (bb602e8) - try LRU-like contains implementation (2d6960f) - Don't abort run into assertion unnecessarily… (4e87a56) - Adjust object-acess to test new contains method (8488b41) - Looks like 'contains()' is implemented well enough (c24015a) - First successful loading of indices… (8cbef57) - first stab at loading indices while dealing with inherent raciness (94be3a0) - assure loops can't happen anymore (f04ff80) - The first green test for loose object lookup (0c6b7b1) - impl Write for Arc, Rc and shared borrows (5cdc27d) - more clarity around generations; actually trash slots or unset them (7bce101) - Adapt to changes in git-repository (3ab9b03) - Create a new index snapshot and store it (41d91f9) - Sort out race condition around slots that change identity (6e678e7) - Uncover slightly disturbing races which make it hard to ever release/unload maps (cbf2d13) - remaining comments about multi-pack-index handling (569c40b) - handling of multi-pack index slot-map moves as they change (456f1e7) - Also use object cache if there is no pack-cache (3e1ae25) - prepare correct handling of multi-pack indices when the time comes (6388ba2) - More thoughts about how to continue a search… (eac8c45) - remove `make_object_cache` parameter from `git_pack::data::output::count::objects()` (3f05fea) - get closer to actually setting up slots (55645ae) - Cache-creators are indeed shared across threads, must be sync (c326cb3) - Add load-pack method frame to not forget (e1ec535) - Try to make Handle usable for pack creation (424c9b3) - Some steps towards recording the disk state in the slot-map (5074f4c) - make all handle caches and cache creators optional (3c30769) - better errors for disk consolidation; setup loose object dbs (4c13e14) - Make odb handle more general (2be6725) - Detail the load-indices flow more (11d3325) - Make slot-count configurable (c910af5) - :Find for Arc and Rc (b1c82a7) - Provide handle with a snapshot of the store's state (6e0cd6d) - MultiPackIndex compatible pack::Find trait definition (5fa1a9d) - refactor (d5565da) - git_pack::Find::try_find_cached(…, pack_cache) (58c2edb) - construct a handle from a linked store (9702ed4) - refactor (ab14f70) - A first tiny stab at Handle for linked store (ef08f7f) - Support for metrics in general store handle (11b98b8) - refactor (1361c31) - first test to trigger all major code-paths (25b56c5) - refactor (3310d8f) - more trustworthy state-id hashing (4eb43d0) - :Find implementation for linked::Store (9235106) - Use handle registration to avoid unloading packs; fix state-id hash (a1070de) - add linked::Store::rc_iter() (36fde72) - Handle registration (df4e4eb) - Use `Deref` instead of Borrow in linked ODB iterator (a96b1e5) - Bring in the slotmap (3a5cb5f) - put down more types for loading of indices and refresh logic (9909eaf) - remove pack-cache from `Find::try_find(…)` (ebc7f47) - Add all types the handle would have to store (e2f0cb0) - linked::Store sorts bundles by modification date, newest first (a81b333) - Rename `Handle` to `Cache` (580e96c) - First sketch of general store (fc1b640) - move git_pack::data::Object to git_object::Data, massively alter git_odb::Find trait (2290d00) - More affirmative notes about multi-pack indices (dceaea2) - A simplified version of the `Find` trait (e25f4ea) - Remove CRC32 check entirely as it doesn't seem to be important in the big picture (22d35bd) - Notes about multi-pack indices in the current data::entry::location (7eff6bf) - Adjust to new name/place of `bundle::Location` (1f8954d) - Add 'contains()' method to Find (dfdd6fb) * **#279** - add missing docs (4137327) - cargo fmt (8b9da35) - very first experimental support for multi-pack index verification (bb35c69) - multi-index verify checksum (853d468) - Another test to validate index stability (1fb08df) - Change accessors named `hash_kind()` to `object_hash()` for consistency (2ef9a84) - refactor (a4ad5bf) - handle 'move' of multi-pack indices (aec0895) - trigger last portion of multi-index logic (b46979b) - load slots early to avoid races with the 'generation' field (10bc3ab) - Only open multi-pack indices if the mtime changed (efe2579) - Add remaining Store docs (e440bcd) - first odb lookup with multi-index works (a8773df) - Generalize intra-pack offset lookup (dff05ef) - consistently use `object_hash` instead of `hash_kind` (49998cc) - replace bare u32 `data::Id` typedef (e0b8636) - A rough implementation of everything multi-index support would need… (56f174f) - Make opened multi-pack indices representable (28e648d) - first sketch towards reading in multi-indices (25eb157) - `Cache::inner` removed in favor of `Deref/Mut` and `into_inner()` (bf73a94) - refactor (7331e99) - adapt to changes in git-pack (28dba20) - adjust to changes in git-pack (b8f109e) - refactor (9b5451a) - loose object iteration respects hash kind (72eb9da) - remove `Write::*(…, hash_kind)` (67c42fb) - various changes to the `loose::Store` (ad1b9ea) - loose odb doesn't hard-code sha1 anymore for `find()` and `contains()` (68f1031) - First pieces of header parsing; allow to respect multi-index desired hash kind in git-odb (1a2a049) - Respect `core.multiPackIndex` option (1495efc) - only load multi-pack indices if allowed (b22e146) * **#287** - basic output for 'repo verify' json only (9f8d61f) - way nicer progress messages for repo verification (4b4f9f8) - upgrade to prodash 17 (47860b7) - better verify progress printing (4a464f2) - refactor (831397c) - refactor (38426a1) - Very rough version of repository verification (80a4a7a) - support for loose object statistics in odb store (53d835a) - bare-bones loose object integrity check (3dfec81) - frame for loose-db validation (a24307d) - First basic validation of all packs within an odb store (d63176f) - Don't reset generations, instead make them match the current one (1d995ef) - frame for interity check on object store (b5dd059) - cleanup and unify `verify_integrity()` method signature (91d0476) * **#293** - refactor (9b28b18) * **#298** - support Rust 1.52 (9c14de3) * **Uncategorized** - Release git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (1b76119) - Release git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (8f57c29) - Release git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (d78aab7) - Release git-hash v0.9.1, git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0, safety bump 4 crates (373cbc8) - prepare changelogs for release (674ec73) - prepar changelogs for cargo-smart-release release (8900d69) - Release git-bitmap v0.0.1, git-hash v0.9.0, git-features v0.19.0, git-index v0.1.0, safety bump 9 crates (4624725) - Release git-chunk v0.2.0, safety bump 4 crates (b792fab) - refactor (c09a44d) - thanks clippy (bf4694c) - thanks clippy (17af184) - make fmt (066f3ff) - thanks clippy (123a95e) - thanks clippy (4ca9e07) -
git-pack-v0.16.0
1b761192 · ·### New Features - zero-objects check for index and multi-index integrity validation - support for fan-checking in index and multi-index integrity verification - introduce type for entry indices within an index or multi-index That way it's a littl emore descriptive than a bare u32. - git_pack::Find::try_find_cached(…, pack_cache) With this method it's easier to bypass local caches and control the cache oneself entirely. - A simplified version of the `Find` trait It's meant for the next generation of object db handles which keep a local cache of all the details of the actual object database. ### Bug Fixes - support Rust 1.52 - Allow resolution of in-pack ref-deltas This finally allows delta tree caches to be used on typical small packs returned by GitHub. - don't try to short-cut detection of large offsets when writing index files The code incorrectly assumed that the input is sorted by offsets, with the largest offset being last, even though by all means that's not the case. - Avoid the dashmap being cloned for each thread Intead, share it by reference, it's sync after all. This issue was introduced when switching to a `Send + Clone` model, instead of `Send + Sync`, to allow thread-local caches in database handles of all kinds. - linked::Store now assures unique IDs across compound stores ### Changed (BREAKING) - Improve method signatures of `cache::Tree::*` - cleanup and unify `verify_integrity()` method signature Previously they used many different ways of handling their parameters despite all boiling down to calling the same 'index::File::traverse()` method. This allows for more reuse of `Options` structs and generally makes clearer how these optinos are used. - `index::File::traverse()` now returns an `Outcome` struct instead of tuple of 3 fields - remove `Option<impl Progress>` in favor of `impl Progress` - multi-index integrity check; use `integrity::Outcome` for various integrity checks - remove unnecessary `Arc` around `should_interrupt` flag - remove Sha1 mentions in `index::verify::Mode::*` variants The hash is repository defined and not hard-coded - introduce `index::File::verify_integrity(…, pack: Option<PackContext>, …)`, replacing tuple This allows for more documentation on what input is required there and generally makes for an easier to use API. - rename `oid::try_from()` to `try_from_bytes()`, add `from_bytes_unchecked()` This change was done in the name of consistency, as `from_bytes()` is used in many other git-* crates - Change accessors named `hash_kind()` to `object_hash()` for consistency - consistently use `object_hash` instead of `hash_kind` - data::Entry::from_read() now takes a hash lengths as parameter That way ref-deltas can be interepreted without hard-coding SHA1 - data::Entry::from_bytes(…, hash_len) takes new parameter The hash-len tells it how to interpret ref-delta objects, which store the complete hash of the base object. This is now entirely configurable. - `index::File::at()` with git_hash::Kind parameter It will allow to assume different hashes even in the index file format which isn't yet capable of storing this information. - `data::File::at()` and `Bundle::at()` now have `hash_kind` parameter It's used to configure the kind of hash to assume when reading packs and indices. - remove `make_object_cache` parameter from `git_pack::data::output::count::objects()` It now is an implementation detail of the Find trait. - move `bundle::Location` to `data::entry::Location` The latter place best describes its purpose. - remove pack-cache from `Find::try_find(…)` With the new architecture this can be an implementation detail without forcing it to be Sync. - move git_pack::data::Object to git_object::Data, massively alter git_odb::Find trait This will break a lot, but has to happen to prepare these traits for the next generation of object databases. ### Commit Statistics - 146 commits contributed to the release over the course of 45 calendar days. - 55 days passed between releases. - 33 commits where understood as [conventional](https://www.conventionalcommits.org). - 6 unique issues were worked on: #260, #266, #279, #287, #293, #67 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 8 times to make code idiomatic. ### Commit Details * **#260** - linked::Store now assures unique IDs across compound stores (b605c1f) * **#266** - remove unused dependencies (c800fdd) - upgrade dashmap to latest version (52d4fe5) - refactor (b88f253) - refactor (52a4dcd) - Make single-threaded programs possible to use with git-repository (dde5c6b) - Use new odb in place of the old one and it works (8ad25c5) - Make find::Entry self-contained (ad36fb9) - Remove iterator access in favor of fully owned data (62d3f10) - Adjust pack-create to changes in git-pack (12db899) - remove `make_object_cache` parameter from `git_pack::data::output::count::objects()` (3f05fea) - :Find implementation for Rc (f48630b) - MultiPackIndex compatible pack::Find trait definition (5fa1a9d) - git_pack::Find::try_find_cached(…, pack_cache) (58c2edb) - refactor (3310d8f) - remove pack-cache from `Find::try_find(…)` (ebc7f47) - fix docs (1bb4253) - move git_pack::data::Object to git_object::Data, massively alter git_odb::Find trait (2290d00) - A simplified version of the `Find` trait (e25f4ea) - Remove CRC32 check entirely as it doesn't seem to be important in the big picture (22d35bd) - Notes about multi-pack indices in the current data::entry::location (7eff6bf) - Add 'contains()' method to Find (dfdd6fb) - move `bundle::Location` to `data::entry::Location` (82b9b33) - Use existing git_features facilities (ed0c266) * **#279** - Add a less thorough and faster way of verifying multi-indices (7517482) - refactor (91e6d38) - Allow interrupting multi-index creation more often (f223ecb) - also test pack-creation with multi-index repo (235a27a) - better multi-pack verification progress (2e16f13) - Handle large multi-pack indices correctly (4f6b030) - Fix progress and handling of large of multi-pack index offsets (5dc1f81) - add missing docs (4137327) - write progress for multi-pack writing (1bea1d4) - adapt to changes in git-features (542c0df) - progress for chunk writing (50fde01) - multi-pack index writing complete with large-offset support (f7d5c7f) - write pack-ids and offsets (bfc8069) - Add chunk for oids (565a7ae) - Write the fanout table (6a68ed7) - refactor (93dc660) - Write multi-index header along with path-names chunk (2fc6751) - Sketch all the chunk-write API and use it from multi-index write (5457761) - Add frame for writing a multi-pack index (9ce1e7f) - `index::File::traverse()` now returns an `Outcome` struct instead of tuple of 3 fields (2cf7727) - refactor (c361ee3) - multi-index verification now matches that of git itself (3a76a28) - zero-objects check for index and multi-index integrity validation (b80dec2) - support for fan-checking in index and multi-index integrity verification (56fc99f) - More detailed multi-index verification (8f9a55b) - Add remaining docs for multi-index (10a24c1) - even nicer printing (d2bea27) - docs for multi_index::chunk (73fbc91) - nicer printing of index verification results (e3dfa12) - very first experimental support for multi-pack index verification (bb35c69) - refactor (eafdff4) - remove `Option<impl Progress>` in favor of `impl Progress` (bf04644) - multi-index iteration (1c99903) - Access pack-indices and pack-offsets of multi-pack indices (c2a6918) - multi-index integrity check; use `integrity::Outcome` for various integrity checks (6829e5e) - oid lookup for multi-pack indices (254f618) - remove unnecessary `Arc` around `should_interrupt` flag (d851bed) - Add basic oid by multi-index file index (a54f552) - remove Sha1 mentions in `index::verify::Mode::*` variants (c2679a0) - introduce `index::File::verify_integrity(…, pack: Option<PackContext>, …)`, replacing tuple (80b120d) - rename `oid::try_from()` to `try_from_bytes()`, add `from_bytes_unchecked()` (79dc0d5) - multi-index verify checksum (853d468) - Change accessors named `hash_kind()` to `object_hash()` for consistency (2ef9a84) - Adapt to changes in git-hash (754a663) - Remove unnecessary `Default` implementation for user of Tree::traverse (9da20e9) - fix docs (ce044ef) - remove unnecessary Default bound for data in Tree nodes (d548f72) - adjust to changes in git-hash (9bf25cc) - consistently use `object_hash` instead of `hash_kind` (b76f6be) - introduce type for entry indices within an index or multi-index (28e3ea8) - replace bare u32 `data::Id` typedef (e0b8636) - adjust to changes in git-hash (ca35246) - Adjust to changes in git-hash and git-pack (0cae25b) - data::Entry::from_read() now takes a hash lengths as parameter (629412b) - Adjust to changes in git-odb (710780c) - data::Entry::from_bytes(…, hash_len) takes new parameter (851dc2c) - refactor (7331e99) - adjust to changes in git-hash (07aa1bc) - :File uses its hash_len parameter (e6ff1a8) - `index::File::at()` with git_hash::Kind parameter (db8c8c4) - `data::File::at()` and `Bundle::at()` now have `hash_kind` parameter (e6a3c9f) - remove unnecessary dev-depednency (b71ea6a) - adapt to changes in git-hash (82fec95) - Calculate trailer offset instead of storing it (bf62067) - Make pessimistic size-estimation instead of an optimistic one (69f1d2a) - refactor (8b8b4c5) - refactor (8c9c7fc) - Adapt to changes in git-chunk (44ea5c3) - refactor (ac46765) - Adapt to latest changes to git-chunk (743d696) - Provide multi-index checksum (a363de9) - update changelog prior to release (6ae49e3) - completely validate and parse multi-index file (e7e40c3) - read and validate index names contained in the multi-pack index (24a9790) - read and validate fanout chunk (3ca04e3) - Read all mandatory and optional chunks (99023bb) - Load chunk index of midx file (fac8efa) - frame for git-chunk crate to share among git-pack and git-commitgraph (b2d2ae2) - basic midx header parsing (edf02ae) - First pieces of header parsing; allow to respect multi-index desired hash kind in git-odb (1a2a049) - frame for instantiation of multi-pack-index (5e085ec) * **#287** - way nicer progress messages for repo verification (4b4f9f8) - upgrade to prodash 17 (47860b7) - refactor (831397c) - Allow resolution of in-pack ref-deltas (84ade1d) - refactor (38426a1) - Test to reproduce ref-delta forward references and the issue it poses for index traversal (7db7195) - Very rough version of repository verification (80a4a7a) - refactor (6c06659) - Improve method signatures of `cache::Tree::*` (a79a7fb) - cleanup and unify `verify_integrity()` method signature (91d0476) * **#293** - fix docs, again (7b2ab26) - fix build (e3977fe) - Use InOrderIter from git-features (7721b5f) - Basic IEOT parsing (35bdee4) - Assure we are right about the leb64 buffer needed for a 64 bit int (7558844) - Adapt to changes in git-features: use var-int decoding from there (52e3c6f) - remove byteorder from git-pack (4122306) - git-pack uses `memmap2` instead of `filebuffer` (d9011c7) * **#67** - Avoid the dashmap being cloned for each thread (6d3f52d) - Properly count total objects during pack creation (bcb3d37) * **Uncategorized** - Release git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (8f57c29) - Release git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (d78aab7) - Release git-hash v0.9.1, git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0, safety bump 4 crates (373cbc8) - Fix git-pack changelog to be stable (fd5b616) - prepar changelogs for cargo-smart-release release (8900d69) - support Rust 1.52 (42e0487) - Release git-bitmap v0.0.1, git-hash v0.9.0, git-features v0.19.0, git-index v0.1.0, safety bump 9 crates (4624725) - thanks clippy (d8925f5) - thanks clippy (5a68d2f) - thanks clippy (1e051dc) - don't try to short-cut detection of large offsets when writing index files (ba92cc0) - refactor (e7fbd9f) - thanks clippy (7bd3ad3) - thanks clippy (533a532) - Release git-chunk v0.2.0, safety bump 4 crates (b792fab) - thanks clippy (35cf46f) - refactor (0032223) - Merge branch 'oknozor-feat/traversal-sort-by-committer-date' (6add377) - make fmt (066f3ff) - thanks clippy (4ca9e07) - thanks clippy (7dd2313) -
git-traverse-v0.12.0
1b761192 · ·### New Features - Add sorting mode to ancestor traversal #270 ### Changed (BREAKING) - rename `commit::Ancestors::mode()` to `*::parents()` The previous name was too generic to be helpful or discoverable. - remove pack-cache from `Find::try_find(…)` With the new architecture this can be an implementation detail without forcing it to be Sync. - move git_pack::data::Object to git_object::Data, massively alter git_odb::Find trait This will break a lot, but has to happen to prepare these traits for the next generation of object databases. ### Commit Statistics - 15 commits contributed to the release over the course of 51 calendar days. - 55 days passed between releases. - 5 commits where understood as [conventional](https://www.conventionalcommits.org). - 3 unique issues were worked on: #215, #266, #270 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **#215** - refactor (9af2a94) - rename `commit::Ancestors::mode()` to `*::parents()` (5cf9323) * **#266** - adapt to changes in git-odb (a44dd4b) - Provide handle with a snapshot of the store's state (6e0cd6d) - remove pack-cache from `Find::try_find(…)` (ebc7f47) - move git_pack::data::Object to git_object::Data, massively alter git_odb::Find trait (2290d00) * **#270** - add test to validate parent mode is handled; don't clear object buffer (9498816) * **Uncategorized** - Release git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (8f57c29) - Release git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (d78aab7) - Release git-hash v0.9.1, git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0, safety bump 4 crates (373cbc8) - prepar changelogs for cargo-smart-release release (8900d69) - Release git-bitmap v0.0.1, git-hash v0.9.0, git-features v0.19.0, git-index v0.1.0, safety bump 9 crates (4624725) - thanks clippy (03d0660) - Add sorting mode to ancestor traversal #270 (eb36a3d) - ensure tests use 'merge.ff false' and recreate fixtures on each run (1d5ab44) -
git-chunk-v0.3.0
1b761192 · ·### New Features - Facilities to write chunk files This includes utilities to plan chunks for writing the table of contents, and to get a hand when actually writing the chunks themselves while assuring they are written into the correct spot. - add `file::Index::size_for_entries()` const fn This is useful for min-size checks of files that are to be loaded. - add `file::Index::usize_offset_by_id()` and `range::into_usize_or_panic()` ### Changed (BREAKING) - `file::Index::chunks` is not public anymore The internal state is validated, and to assure that it can't be publicly accessible. - rename `into_usize_range()` to `range::into_usize()` - rename `Kind` to `Id` This is more in line with gits terminology and feels quite natural to use as well. ### Commit Statistics - 18 commits contributed to the release over the course of 33 calendar days. - 34 days passed between releases. - 6 commits where understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #279 ### Commit Details * **#279** - write progress for multi-pack writing (1bea1d4) - Facilities to write chunk files (389fea2) - multi-pack index writing complete with large-offset support (f7d5c7f) - fix docs (b61a920) - Writing of chunk index (17a93c3) - Sketch all the chunk-write API and use it from multi-index write (5457761) - `file::Index::chunks` is not public anymore (11b0f4a) - cargo fmt (8b9da35) - fix docs (cd981e2) - add `file::Index::size_for_entries()` const fn (373a850) - refactor (8b8b4c5) - add `file::Index::usize_offset_by_id()` and `range::into_usize_or_panic()` (e14096e) - rename `into_usize_range()` to `range::into_usize()` (9328015) - rename `Kind` to `Id` (dda26a4) * **Uncategorized** - Release git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (8f57c29) - Release git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (d78aab7) - Release git-hash v0.9.1, git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0, safety bump 4 crates (373cbc8) - prepar changelogs for cargo-smart-release release (8900d69) -
git-tempfile-v1.0.4
1b761192 · ·A maintenance release thanks to upgraded dependencies. ### Commit Statistics - 6 commits contributed to the release over the course of 35 calendar days. - 100 days passed between releases. - 0 commits where understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #266 ### Commit Details * **#266** - upgrade dashmap to latest version (52d4fe5) * **Uncategorized** - Release git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (8f57c29) - Release git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (d78aab7) - Release git-hash v0.9.1, git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0, safety bump 4 crates (373cbc8) - prepare changelogs for release (674ec73) - prepar changelogs for cargo-smart-release release (8900d69) -
git-diff-v0.13.0
1b761192 · ·### Changes (BREAKING) - remove pack-cache from `Find::try_find(…)` With the new architecture this can be an implementation detail without forcing it to be Sync. - move git_pack::data::Object to git_object::Data, massively alter git_odb::Find trait This will break a lot, but has to happen to prepare these traits for the next generation of object databases. ### Commit Statistics - 10 commits contributed to the release over the course of 51 calendar days. - 55 days passed between releases. - 2 commits where understood as [conventional](https://www.conventionalcommits.org). - 2 unique issues were worked on: #266, #279 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **#266** - adapt to changes in git-odb (a44dd4b) - remove pack-cache from `Find::try_find(…)` (ebc7f47) - move git_pack::data::Object to git_object::Data, massively alter git_odb::Find trait (2290d00) * **#279** - adapt to changes to `git-odb` (5b0e2b9) * **Uncategorized** - Release git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (8f57c29) - Release git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (d78aab7) - Release git-hash v0.9.1, git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0, safety bump 4 crates (373cbc8) - prepar changelogs for cargo-smart-release release (8900d69) - Release git-bitmap v0.0.1, git-hash v0.9.0, git-features v0.19.0, git-index v0.1.0, safety bump 9 crates (4624725) - thanks clippy (7dd2313) -
git-object-v0.17.0
8f57c297 · ·### New Features - Add sorting mode to ancestor traversal #270 - add `Data` object This is typed data baked by a slice for conversion into parsed ObjectRef's for example. This is usually the result of a `Find` operation on an object database. ### Changed (BREAKING) - rename `commit::ref_iter::Token::into_id()` to `*::try_into_id()` This makes the method more consistent. - move git_pack::data::Object to git_object::Data, massively alter git_odb::Find trait This will break a lot, but has to happen to prepare these traits for the next generation of object databases. ### Commit Statistics - 13 commits contributed to the release over the course of 51 calendar days. - 55 days passed between releases. - 5 commits where understood as [conventional](https://www.conventionalcommits.org). - 2 unique issues were worked on: #266, #279 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **#266** - upgrade dependencies (322b290) - fix docs (1bb4253) - move git_pack::data::Object to git_object::Data, massively alter git_odb::Find trait (2290d00) - add `Data` object (a0bb652) * **#279** - adapt to changes in git-hash (5eb0230) * **Uncategorized** - Release git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (d78aab7) - Release git-hash v0.9.1, git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0, safety bump 4 crates (373cbc8) - prepar changelogs for cargo-smart-release release (8900d69) - Release git-bitmap v0.0.1, git-hash v0.9.0, git-features v0.19.0, git-index v0.1.0, safety bump 9 crates (4624725) - Merge branch 'oknozor-feat/traversal-sort-by-committer-date' (6add377) - rename `commit::ref_iter::Token::into_id()` to `*::try_into_id()` (fda2a8d) - Add sorting mode to ancestor traversal #270 (eb36a3d) - thanks clippy (7dd2313) -
git-config-v0.1.10
8f57c297 · ·### New Features - compatibility with Rust <1.53 ### Commit Statistics - 6 commits contributed to the release over the course of 51 calendar days. - 55 days passed between releases. - 1 commit where understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #266 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **#266** - upgrade dependencies (8adf0d8) * **Uncategorized** - Release git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (d78aab7) - Release git-hash v0.9.1, git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0, safety bump 4 crates (373cbc8) - prepar changelogs for cargo-smart-release release (8900d69) - compatibility with Rust <1.53 (61af06b) - thanks clippy (7dd2313) -
git-actor-v0.8.0
8f57c297 · ·A maintenance release thanks to upgraded dependencies. ### Commit Statistics - 6 commits contributed to the release over the course of 35 calendar days. - 55 days passed between releases. - 0 commits where understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' where seen in commit messages ### Commit Details * **Uncategorized** - Release git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (d78aab7) - Release git-hash v0.9.1, git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0, safety bump 4 crates (373cbc8) - prepare changelogs for release (674ec73) - prepar changelogs for cargo-smart-release release (8900d69) - Release git-bitmap v0.0.1, git-hash v0.9.0, git-features v0.19.0, git-index v0.1.0, safety bump 9 crates (4624725) - upgrade git-actor dependencies (82bb1c0) -
git-features-v0.19.1
d78aab7b · ·A maintenance release thanks to upgrade to `prodash` 18. ### Commit Statistics - 4 commits contributed to the release. - 4 days passed between releases. - 0 commits where understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' where seen in commit messages ### Commit Details * **Uncategorized** - Release git-hash v0.9.1, git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0, safety bump 4 crates (373cbc8) - prepare changelogs for release (674ec73) - prepar changelogs for cargo-smart-release release (8900d69) - upgrade to tui 0.17 and prodash 18 (eba101a) -
git-hash-v0.9.1
373cbc87 · ·### Bug Fixes - don't use panicking const fn just yet to not require rust 1.57 ### Commit Statistics - 2 commits contributed to the release over the course of 3 calendar days. - 4 days passed between releases. - 1 commit where understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' where seen in commit messages ### Commit Details * **Uncategorized** - prepar changelogs for cargo-smart-release release (8900d69) - don't use panicking const fn just yet to not require rust 1.57 (d2e2ea0) -
git-index-v0.1.0
4624725f · ·The initial release which can read a complete index, version 2 to 4, with all extensions. The reading can be performed with multiple threads as well, partially depending on whether certain extensions are present. ### Commit Statistics - 71 commits contributed to the release over the course of 490 calendar days. - 509 days passed between releases. - 0 commits where understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #293 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 5 times to make code idiomatic. ### Commit Details * **#293** - prepare changelogs for git-index and dependencies (f54bf4b) - Test for extra-long paths (3d61afe) - Test for extended flags (ae3b697) - Use bitflags for Flags (in-memory and at-rest) (ea86eb0) - Use bitflags for entry Mode (53df605) - FSMN V2 decoding (04279bf) - Failing test for fs-monitor V1 (625b89a) - Validate UNTR with exclude-file oids (20ebb81) - read remaining pieces of UNTR (9d9cc95) - Make stat parsing more general/reusable (c41b933) - refactor (a1dc8de) - simplify UNTR directory indexing (7857d08) - flatten UNTR directory list for later access via bitmaps (2e39184) - read UNTR directory blocks and bitmaps (59f46fe) - First portion of reading the untracked cache (ed2fe5d) - failing test for UNTR extension (223f2cc) - Add UNTR extension fixture (3c7ba24) - REUC reading works (29c1af9) - frame and test for REUC exstension (229cabe) - add git index with REUC exstension (8359fdb) - Support for 'sdir' extension (a38c3b8) - Turn git-bitmap Array into Vec, as it will be able to adjust its size (9e99e01) - first stab at decoding ewah bitmaps (353a53c) - 'link' extension decoding to the point where bitmaps are needed (e18a2fd) - support for errors in extensions (8971991) - failing test for link decoding (e1daf18) - don't forget to fail on unknown mandatory extension (f7e2bdd) - Aggregation for index entries loaded in parallel (995994a) - parallel loading of entries right before reducing them (de84a3a) - Frame for using the new 'scoped threads' feature in git-features (6fea17d) - single and multi-threaded index tests (a22cb0f) - prepare decode options for better control of threads (30de988) - cleanup (99d7224) - Basic IEOT parsing (35bdee4) - refactor (6f04f8b) - parse V4 delta-paths (06640e3) - more thorough tests for more complex repo with more entries (273853f) - The first test to validate an entry (f865ef6) - Now with counting of consumed bytes in extensions (77a062c) - Use correct post-header slice when parsing entries (da556b0) - All code needed to load extensions… (0a03f19) - a step towards pasing V2 paths (01036ad) - Most of the entry decoding, name is still missing (53e2d75) - Extensions are optional, and so is their iteration (620d2e6) - Prepare a more complex test for tree parsing, requires entry parsing (e7e0679) - parse TREE chunk (a2ea498) - Get closer to implementing a simple TREE extension decoding (49fcb6f) - refactor (07e8fb2) - the first actual assetion (c17240d) - refactor (d4b3a07) - refactor (9fdd34b) - Fix counting issue, checksum matches now (cc33752) - Another big step, even though EOIE checksum is still bugged (9ffd523) - right before implementing a traversal over extension chunks (79ca582) - refactor (9b28b18) - first step towards reading the EOIE extension (068c716) - parse index header (5c731f8) - first stab at basic index file parsing (826ca0c) - refactor (494ed46) - git-index uses memmap2 (fbfea28) - The realization that FileBuffer really shouldn't be used anymore (b481f13) - base setup for index testing (aa60fdf) - notes on how test indices have been created (3040857) * **Uncategorized** - thanks clippy (09df2bc) - thanks clippy (93c3d23) - Fix index without extension test & thanks clippy (066464d) - thanks clippy (f477032) - thanks clippy (5526020) - thanks clippy (591511a) - remove dash in all repository links (98c1360) - refactor (e4bcfe6) -
git-features-v0.19.0
4624725f · ·### New Features - Add InOrderIter to 'parallel' module This iterator makes possible identifies results using a sequence id and returns only consecutive items. Use it to collect unordered results produced by threads. It's advantage to collecting yourself and sorting is the potential for a smaller memory footprint of in-flight results, one doesn't have to collect them all for ordering, necessarily. - Make a scope-like abstraction available This allows more delicate threading control like is required for the index. - decoding of variable int numbers. It's here only so that we can share the code across crates, for now without any feature toggles. - Add `progress::Write` to automatically pass bytes written to a progress instance ### Changed (BREAKING) - renamed `progress::Read::reader` -> `progress::Read::inner` ### Commit Statistics - 17 commits contributed to the release over the course of 41 calendar days. - 51 days passed between releases. - 6 commits where understood as [conventional](https://www.conventionalcommits.org). - 4 unique issues were worked on: #266, #279, #287, #293 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **#266** - update sha-1 dependency to 0.10 (361892c) - remove slow/unnecessary threading utilities (269b7ef) * **#279** - Add `progress::Write` to automatically pass bytes written to a progress instance (0a749a2) - renamed `progress::Read::reader` -> `progress::Read::inner` (61e5cfe) - Adjust to changes in git-hash and git-pack (0cae25b) * **#287** - upgrade to prodash 17 (47860b7) * **#293** - prepare changelogs for git-index and dependencies (f54bf4b) - fix docs (3f89b63) - fix build (e3977fe) - Use InOrderIter from git-features (7721b5f) - Add InOrderIter to 'parallel' module (cb7e4e7) - Make a scope-like abstraction available (ca095ed) - single and multi-threaded index tests (a22cb0f) - decoding of variable int numbers. (b8400ed) * **Uncategorized** - upgrade dependencies (968df47) - refactor (e7fbd9f) - thanks clippy (7dd2313) -
git-hash-v0.9.0
4624725f · ·### New Features - Assign version numbers to `Kind` and implement `TryFrom<u8>` This makes reading and writing the hash number easier for newer file formats. - add `Kind::from_len_in_bytes()` const fn - `Kind::len_in_bytes()` method It yields the amount of bytes needed to store the hash. ### Changed (BREAKING) - rename `oid::try_from()` to `try_from_bytes()`, add `from_bytes_unchecked()` This change was done in the name of consistency, as `from_bytes()` is used in many other git-* crates - Remove `Kind:Efrom_len_in_bytes()` from public API It shouldn't be encouraged to assume the hash can be deduced from its length, also git doesn't assume this. If that would happen, we would have other problems though, so let's hope it doesn't happen nonetheless. - Remove `ObjectId::null_sha1()` from public API Use `Kind::Sha1.null()` instead if it's a value where the actual repository object hash doesn't matter. - rename `Kind::null()` to `null_ref()` and `Kind::null_owned()` to `null()` This naming is consistent with typical Rust APIs and the naming used throughout the git-* crates thus far. - remove `Kind::new_sha1()` from public API - Kind::from_len_in_bytes() is infallible - remove `ObjectId::from_20_bytes()` from public API Use `ObjectId::from()` or `ObjectId::try_from()` instead. - remove various SHA1 specific hex utilities in favor of unspecific new ones. removed `to_sha1_hex()`, use `oid::hex_to_buf()` and `oid::hex_to_buf()` instead. remove `ObjectId::write_hex_to()` in favor of `oid::write_hex_to()` - `oid::null_sha1()` replaced with `Kind::null()` - remove `ObjectId::from_borrowed_sha1()` - remove `ObjectId::to_sha1_hex_string()` Use `.to_hex().to_string()` instead. - SIZE_OF_SHA1_DIGEST is now private Replace it with your own constant derived from - rename `Kind::to_hex()` to `Kind::to_hex_with_len()`; add `Kind::to_hex()` The latter prints the oid in full. ### Commit Statistics - 24 commits contributed to the release over the course of 30 calendar days. - 92 days passed between releases. - 16 commits where understood as [conventional](https://www.conventionalcommits.org). - 3 unique issues were worked on: #279, #287, #293 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **#279** - Basic multi-pack index creation (89428b2) - multi-pack index writing complete with large-offset support (f7d5c7f) - Assign version numbers to `Kind` and implement `TryFrom<u8>` (84e26a7) - rename `oid::try_from()` to `try_from_bytes()`, add `from_bytes_unchecked()` (79dc0d5) - Remove `Kind:Efrom_len_in_bytes()` from public API (1b75541) - Remove `ObjectId::null_sha1()` from public API (b12ee8a) - rename `Kind::null()` to `null_ref()` and `Kind::null_owned()` to `null()` (eaf48bd) - remove `Kind::new_sha1()` from public API (60a4eb5) - Kind::from_len_in_bytes() is infallible (c079fbe) - refactor (7331e99) - remove `ObjectId::from_20_bytes()` from public API (2a799e6) - fix docs (cd981e2) - remove various SHA1 specific hex utilities in favor of unspecific new ones (53c748d) - `oid::null_sha1()` replaced with `Kind::null()` (67652cb) - remove `ObjectId::from_borrowed_sha1()` (3363f1e) - remove `ObjectId::to_sha1_hex_string()` (75b901e) - SIZE_OF_SHA1_DIGEST is now private (b596fa0) - rename `Kind::to_hex()` to `Kind::to_hex_with_len()`; add `Kind::to_hex()` (3373946) - add `Kind::from_len_in_bytes()` const fn (ce673bf) - `Kind::len_in_bytes()` method (9a0d8b8) * **#287** - Very rough version of repository verification (80a4a7a) * **#293** - prepare changelogs for git-index and dependencies (f54bf4b) * **Uncategorized** - Better not have items within items in changelogs (6946125) - thanks clippy (d8925f5) -
git-bitmap-v0.0.1
4624725f · ·EWAH bitmaps can be decoded from disk and enabled bits can be acted upon by calling a closure each time an index is set to true. Please note that the current feature set is minimal and driven by the need of the `git-index` crate. ### Commit Statistics - 10 commits contributed to the release over the course of 6 calendar days. - 6 days passed between releases. - 0 commits where understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #293 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **#293** - prepare changelogs for git-index and dependencies (f54bf4b) - basic itreation of set bits (4796ad9) - refactor (a1dc8de) - Support for 'sdir' extension (a38c3b8) - rlw field is actually an offset into `bits` when used at runtime (7d1aba1) - Turn git-bitmap Array into Vec, as it will be able to adjust its size (9e99e01) - EWAH decoding works (bad7e19) - first stab at decoding ewah bitmaps (353a53c) * **Uncategorized** - thanks clippy (93c3d23) - Fix index without extension test & thanks clippy (066464d) -
git-bitmap-v0.0.0
0c98247a · ·Initial release, entirely empty. ### Commit Statistics - 2 commits contributed to the release. - 0 commits where understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #293 ### Commit Details * **#293** - git-bitmap - changelog (339318c) - Add git-bitmap crate for use in git-index (a517f26)