github Byron/gitoxide git-repository-v0.10.0
git-repository v0.10.0

2 years ago

New Features

  • Make git_url::Url available under git_repository::Url

  • add easy::ext::ObjectAccessExt::tag(…) to create tag objects
    It's a quick sketch on how tag object creation could work.

    Note the duplication the method name using traits, which seems like a good solution
    to the problem of differentiating tag objects and tag references while
    keeping the method name short.

    Most will only ever need one, right?

    Even in my example that's not the case, so maybe we have to rename it.

  • Make git_url::Url available under git_repository::Url

BREAKING Changes

  • Use 'to_*' when converting easy::Object to specific object kind
    This also makes the API more consistent while being more idiomatic.
  • Avoid duplicate module paths in 'tree' and 'commit'
  • rename ObjectIdExt::ancestors_iter() to *::ancestors()
  • rename easy::Object::to_(commit|tag)_iter()
    …to easy::Object::try_to_(commit|tag)_iter() for consistency.
  • rename *::State into *::Platform
  • various small API changes
  • move easy::head::peel::Error -> easy::head::peel::to_id::Error
  • rename path::is_git to path::is
  • rename easy::reference::log::State to easy::reference::Logs

Changed (BREAKING)

  • easy::Object::try_to_commit() now returns Result<CommitRef>
    …without the nested Option, folding the type mismatch into a specific
    conversion::Error instad.
  • rename ObjectAccessExt::tag(…) to *::tag_reference(…), add easy::Object::try_to_tag()
    This one also contains the first and probably only test for tag object
    creation.

Commit Statistics

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

Thanks Clippy

Clippy helped 4 times to make code idiomatic.

Commit Details

view details
  • #164
    • path::is (1f4e45a)
    • rename path::is_git to path::is (ac3b9ef)
    • path::discover (1958e8a)
    • Avoid duplicate module paths in 'tree' and 'commit' (2f2d856)
    • top-level of 'path' module (066f59b)
    • object_id (329d183)
    • rename ObjectIdExt::ancestors_iter() to *::ancestors() (a19567e)
    • repository (1a1959f)
    • ext::tree (5e091fb)
    • easy::object::peel (e376067)
    • easy::object::errors (de004b3)
    • rename easy::Object::to_(commit|tag)_iter()… (61793ff)
    • easy::object, sans a few child-modules (f582439)
    • update 'platform' information to reflect the current usage (42080ae)
    • rename easy::reference::log::State to easy::reference::Logs (03fe8a7)
    • rename *::State into *::Platform (0cd585e)
  • #198
    • git::remote_url() is now optional (e16603b)
    • easy::Object::try_to_commit() now returns Result<CommitRef>… (c3385cd)
    • rename ObjectAccessExt::tag(…) to *::tag_reference(…), add easy::Object::try_to_tag() (e59f901)
    • add easy::ext::ObjectAccessExt::tag(…) to create tag objects (80b8331)
    • prettify changelog also to practice user segments (5c57264)
    • Fix git-url re-export to respect feature flags (ec4e3ca)
    • deduplicate conventional message ids (e695eda)
    • regenerate all changelogs to get links (0c81769)
    • pass actual repository url down from commands (4e03515)
    • Make git_url::Url available under git_repository::Url (0ebfeb6)
    • Mention actual issues that where worked on (a517e39)
    • Allow 'refactor' and 'other' in conventional messages if they have breaking changes (4eebaac)
    • merge doesn't consider user generated sections, only the ones it would want to add (ebbebdd)
    • 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)
    • Use hashmap based lookup for trees… (48a0c76)
    • 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)
    • Use 'to_*' when converting easy::Object to specific object kind (1cb41f8)
    • Fix panic related to incorrect handling of character boundaries (9e92cff)
    • Fix build (d0a956f)
    • refactor!: Use git_object::commit::MessageRef::summary()… (13e7c3a)
    • Sketch data for parsed messages (32dd280)
    • smart-release: a seemingly slow version of path lookup, but… (41afad3)
    • configure caches with env vars using apply_environment() (d422b9a)
    • refactor (e7c061b)
    • set package cache via RepositoryAccessExt (66292fd)
    • smart-release(feat): Add GITOXIDE_PACK_CACHE_MEMORY_IN_BYTES=536870912 to control pack-cache size… (5aadf75)
    • allow disabling the pack cache with GITOXIDE_DISABLE_PACK_CACHE (d79a1b7)
    • prepare for configurable pack cache (7d2b6b6)
    • object-cache to allow for a speed boost… (06996e0)
    • smart-release: build commit history for later use in changelog generation (daec716)
    • Allow object access during commit ancestor traversal… (4fe4786)
    • smart-release: sketch history acquisition (debe009)
    • various small API changes (89f1505)
    • add 'Head::peeled()' method (56e39fa)
    • move easy::head::peel::Error -> easy::head::peel::to_id::Error (f644d0e)
    • loose reference iteration with non-dir prefixes… (293bfc0)
    • Add 'references().all().peeled().'… (6502412)
    • smart-release: filter refs correctly, but… (2b4a615)
  • #200
    • feat: Lift io::Errors to response::Error::UploadPack(…)… (f293b63)
  • #67
    • split data::output::count::objects into files (8fe4612)
    • use new git_pack::cache::Object trait (b209da2)
    • remove object cache impl which now lives in git-pack (741558d)
    • Use Easy in the one spot where it is possible… (6a97bfa)
    • try to create persistent Easy iterator, but can't make it Send… (54a64a5)
  • Uncategorized
    • thanks clippy (bcc9871)
    • 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)
    • Merge branch 'main' into changelog-generation (c956f33)
    • thanks clippy (ae7826e)
    • thanks clippy (b02edb5)
    • thanks clippy (68ea77d)
    • improved changelog… (8b82f7d)
    • Bump git-traverse v0.9.0, safety bump 8 crates (d39fabb)
    • Bump git-repository v0.10.0 (5a10dde)
    • [repository #164] docs for easy::reference::log (7de7c7e)
    • [repository #164] docs for easy::reference::iter (d86c713)
    • [repository #164] refactor (437e63b)
    • [repository #164] docs for top-level of easy::reference (9e465e0)
    • [repository #164] docs for easy::oid (b66b6fe)
    • [repository #164] docs for easy::commit and easy::odb (abf37e5)
    • [repository #164] Documentation for easy::borrow (3e612f4)
    • [repository #164] docs for easy::head::* (516fde7)
    • [repository #164] refactor (65b0e0f)
    • [repository #164] docs for easy::ext::ReferenceAccessExt (ab4910f)
    • [repository #164] docs for easy::ext::RepositoryAccessExt (9041d47)
    • [repository #164] another test and fix for commit() (8d676d7)
    • [repository #164] easy::ext::ObjectAccessExt docs (c4984af)
    • [repository #164] (4111d22)

Don't miss a new gitoxide release

NewReleases is sending notifications on new releases.