github GitoxideLabs/gitoxide git-index-v0.7.0
git-index v0.7.0

24 months ago

New Features

  • Clnoe for File
  • decode::Options::default_from_object_hash()
    An easier way to initialize decode options, providing only the mandatory
    information.
  • File::write() for secure and complete writing of index files.

Other

  • sketch out how a write implementation could work

Changed (BREAKING)

  • write::Options::object_hash is now implied by the State itself.
    The State, once initialized, knows the kind of object hash it uses and
    there is no need to specify it again.

    This affects some method signatures which now work without
    object_hash.

  • decode::Options::object_hash is now a parameter to methods.
    It's not actually an option that could be defaulted, but an integral
    piece of knowledge that must always be defined by the caller.

    This also makes decode::Options::default() available once again.

  • seal File members to preserve consistency better.
    This also makes sure that it's obvious if the checksum is actually
    already computed.

Reverted (BREAKING)

  • decode::Options::default() - remove Default impl.
    The contained git_hash::Kind can't actually be defaulted as we
    have to know the actual kind used in the repository.
  • remove write::Options::default().
    In practice it's required to inform about the hash kind to use and it's
    possibly incorrect to assume Sha1.

Commit Statistics

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

Thanks Clippy

Clippy helped 4 times to make code idiomatic.

Commit Details

view details
  • #450
  • Uncategorized
    • prepare changelogs prior to release (423af90)
    • Merge branch 'write-sparse-index' (ba17db0)
    • thanks clippy (49b539b)
    • Remove tests and scaffolding code that probably won't be implemented soon. (177d1c8)
    • refactor (0a74625)
    • Act like git and write a sparse index even if it contains no dir entries anymore. (53af48c)
    • bake knowledge about sparse related config parameters into types. (e61957e)
    • Merge branch 'main' into write-sparse-index (upgrade to Rust 1.65) (5406630)
    • thanks clippy (04cfa63)
    • Merge branch 'main' into write-sparse-index (c4e6849)
    • make fmt (ea2136b)
    • Merge branch 'gix-clone' (def53b3)
    • add and use checked_is_sparse() instead of cached is_sparse flag (e41ad0f)
    • refactor (3683963)
    • thanks clippy (646b868)
    • added fixture, adjusted tests, refactor (3173c0b)
    • Make clear in code that mandatory extensions will always be written… (3e37443)
    • respect the current 'is_sparse()` state when writing. (2012b27)
    • refactor (a929bcf)
    • thanks clippy (5bfd947)
    • sketch out how a write implementation could work (4a6d46f)
    • regenerated archive (cd1c752)
    • updated docs (77a9d42)
    • added first tests and implementation for writing the sdir extension (66a675f)
    • capability to write sdirextension (762e4cb)
    • added tests for reading sparse indexes (ddaa003)
    • add temporary sparse index playground testfile (5589a7f)
    • add sparse index text fixtures (8a8a53e)
    • add is_sparse access method for State (7f012cf)
    • Merge branch 'main' into gix-clone (de4fe06)
    • Merge branch 'fix-gix-index-from-tree' (da5f63c)
    • write::Options::object_hash is now implied by the State itself. (59f6791)
    • decode::Options::object_hash is now a parameter to methods. (908163a)
    • decode::Options::default_from_object_hash() (9e03110)
    • refactor (6fb3255)
    • seal File members to preserve consistency better. (92dda50)
    • decode::Options::default() - remove Default impl. (bd312ac)
    • fix tests (fc5cee1)
    • assure we also write V3 files, validate auto-version discovery (abc3cf8)
    • loose fixtures are usable more easily now (b86012b)
    • remove write::Options::default(). (2da5a62)
    • File::write() for secure and complete writing of index files. (eedcffa)
    • prepare test for writing a complete index file from arbitrary state (281f5b8)
    • Merge branch 'gix-index-from-tree' (8c24386)
    • refactor (08d5c0b)

Don't miss a new gitoxide release

NewReleases is sending notifications on new releases.