github Byron/gitoxide git-credentials-v0.5.0
git-credentials v0.5.0

2 years ago

Changed

  • use git-config-value crate

New Features

  • protocol::Context::to_bstring(), and use it in example/git-credential-lite
  • an example implementing a custom credential helper program
  • helper::main to easily create credential helper implementations
  • add helper::Action::get_for_url(…)
  • helper::invoke(helper, action, context) function that allows for more flexible helper invocation

Other

  • :main::Action::as_str()`

Changed (BREAKING)

  • upgrade bstr to 1.0.1
  • rename git() to builtin()
  • rename Program::Custom* variants to Program::External*
    It's more true to what it is.
  • differentiate between top-level functions and those which are invoked
    That way it's easier to use as it can assure an account was actually
    provided.
  • invoke::Outcome can now represent partial identities
    That way these can be assembled by multiple helpers called in a row.
  • move helper::(Next)Action into helper::invoke:: module
    These are only relevant for invoke, hence the change.
  • rename helper::NextAction variants to store and erase
  • rename helper::Action variants to 'Get', 'Store', 'Erase'
    It's more obvious what it does and is more typical for what credentials
    helpers do.
  • Use helper::Context in helper::Action::Fill()
    That way additional information, like from configuration, can be passed
    as well.
  • move helper::invoke() related types into helper::invoke module.
    Also allow to pass arbitrary bytes (more or less) as context by not
    forcing it all into a string. Values can now be everything, which
    helps with passing paths or other values.
  • use thiserror instead of quickerror
  • hide helper::action() in favor of single path via helper()

Other (BREAKING)

  • helper::Kind to program::Kind
  • helper::(encode|decode)_message(…) to ::message::(encode|decode)(…)

Commit Statistics

  • 115 commits contributed to the release over the course of 27 calendar days.
  • 27 days passed between releases.
  • 21 commits were understood as conventional.
  • 2 unique issues were worked on: #450, #470

Thanks Clippy

Clippy helped 5 times to make code idiomatic.

Commit Details

view details
  • #450
    • upgrade bstr to 1.0.1 (99905ba)
    • :main::Action::as_str()` (d95029e)
    • protocol::Context::to_bstring(), and use it in example/git-credential-lite (15f1afc)
    • assure that protocol::Context::to_url() never shows passwords (e9f4d40)
    • Make sure the helper::Cascade never sends the URL to helper programs (9059de8)
    • fix docs (9a5ec7b)
    • move program::Cascade to helper::Cascade which is what it is (6149a14)
    • An example on how to invoke the git credential helper driver (be0f834)
    • Context has to serialize url or else the builtin credential helper may not work. (87ae404)
    • credential context won't send url and quit fields to helpers (337a53b)
    • Cascade supports use_http_path and respects it when setting up the context (959c0bd)
    • make it less easy to start a cascade with platform_defaults() (4b5d63f)
    • make clearer what platform builtins actually are (9788e30)
    • credential-cascade now passes on prompt options (baad8a0)
    • refactor (c8f1b41)
    • always compile prompting support in (bd0ea68)
    • set version of git-prompt to 0.1 and turn prompting on (7657693)
    • fix warnings (e011242)
    • more helpful prompt error messages when asking for credentials (b0c6863)
    • use git-config-value crate (43656d5)
    • proper prompt generation (63ee38d)
    • remove rustyline in favor of git-prompt (b3e5e59)
    • add interactive example for prompt, but… (a3fadea)
    • blindly implement prompting if it is allowed (c78f4b8)
    • frame to support prompting (as compile-time feature) (afaae28)
    • another test (569b7bc)
    • remove unnecessary Helper trait (19b84f0)
    • use fixtures in all tests (24da911)
    • fix tests on linux (89db8ee)
    • more tests (57e9060)
    • refactor (561bb35)
    • another test (52d2e54)
    • fix CI (d526c6d)
    • improve path normalization; a new ignored test (ece5a3f)
    • parse 'quit' according to spec (5e260da)
    • Allow disabling stderr on credential programs (4abec50)
    • refactor (cdfcea4)
    • url-preprocessing for scripts (c00cc35)
    • breaking credential helpers don't stop everything (0cdbde7)
    • refactor; try harder not to spill secrets in errors (525fa97)
    • first step towards our own git credential -like implementation (1d1622a)
    • refactor (ce16f51)
    • Platform specific defaults for the program cascade (b66258f)
    • refactor (85f8cd9)
    • refactor (23fb302)
    • A sketch of how a custom 'git credential' could look like (4767a14)
    • make 'quit' handler request representable and raise it to an error (39b6514)
    • rename git() to builtin() (783a1a7)
    • fix docs (f86364c)
    • rename Program::Custom* variants to Program::External* (bfa2545)
    • refactor (52e958d)
    • fix build (99958c6)
    • differentiate between top-level functions and those which are invoked (811985a)
    • invoke::Outcome can now represent partial identities (49b9bd5)
    • make clear what helper() does by renaming it to git (2edb58b)
    • Make clear in the error type that the helper program couldn't be started (c09d223)
    • improved error when identity could not be obtained (08c1287)
    • support for quit field in context (5a50528)
    • refactor (7487b5a)
    • support for non-consuming operation of Program (bcfe5ca)
    • disable test that seems to fail on linux (419ca56)
    • More tests for custom helper scripts (b396032)
    • Support for script invocations (377cf14)
    • use git_path::is_absolute() (2ba836f)
    • fix tests on windows (f4bc860)
    • also fill in the git credential command prefix (b2f4fe8)
    • initial version of parsing of custom helper definitions (2b2cd00)
    • helper::Kind to program::Kind (b8c54f0)
    • sketch additional credentials programs (46e3045)
    • first test for launching the git credential helper (4d7b1dd)
    • an example implementing a custom credential helper program (b1d528a)
    • add docs (a360594)
    • helper::main to easily create credential helper implementations (eaff67c)
    • move helper::(Next)Action into helper::invoke:: module (4b7d0b6)
    • sketch for helper::invoke (get) test (c48eb39)
    • refactor (cb9d32a)
    • rename helper::NextAction variants to store and erase (ddd5398)
    • fix docs (d9b4ba5)
    • add helper::Action::get_for_url(…) (a253d30)
    • rename helper::Action variants to 'Get', 'Store', 'Erase' (2073b58)
    • Use helper::Context in helper::Action::Fill() (9c6f024)
    • remaining decode tests (0e76efe)
    • test context value validation (20dde9e)
    • basic round-tripping of fully fleshed-out context (280e4a3)
    • flesh out helper::Context as it will soon be used. (0cb1ed4)
    • move helper::invoke() related types into helper::invoke module. (71f6519)
    • refactor (03bf747)
    • express helper() in terms of helper::invoke() (f2a2c5e)
    • helper::invoke(helper, action, context) function that allows for more flexible helper invocation (64bc2ec)
    • refactor (af27d20)
    • prepare for more additional implementations of helpers (486ef98)
    • refactor (167b521)
    • fix docs (db46b60)
    • re-add Result type (de92fce)
    • use thiserror instead of quickerror (4c1a1a2)
    • hide helper::action() in favor of single path via helper() (081934c)
    • helper::(encode|decode)_message(…) to ::message::(encode|decode)(…) (4c39521)
    • refactor (a395308)
  • #470
    • update changelogs prior to release (caa7a1b)
  • Uncategorized
    • Release git-hash v0.9.10, git-features v0.22.5, git-date v0.2.0, git-actor v0.12.0, git-glob v0.4.0, git-path v0.5.0, git-quote v0.3.0, git-attributes v0.4.0, git-config-value v0.8.0, git-tempfile v2.0.5, git-validate v0.6.0, git-object v0.21.0, git-ref v0.16.0, git-sec v0.4.0, git-config v0.8.0, git-discover v0.5.0, git-traverse v0.17.0, git-index v0.5.0, git-worktree v0.5.0, git-testtools v0.9.0, git-command v0.1.0, git-prompt v0.1.0, git-url v0.9.0, git-credentials v0.5.0, git-diff v0.19.0, git-mailmap v0.4.0, git-chunk v0.3.2, git-pack v0.23.0, git-odb v0.33.0, git-packetline v0.13.0, git-transport v0.20.0, git-protocol v0.20.0, git-revision v0.5.0, git-refspec v0.2.0, git-repository v0.24.0, git-commitgraph v0.9.0, gitoxide-core v0.18.0, gitoxide v0.16.0, safety bump 28 crates (29a043b)
    • Merge branch 'index-from-tree' (172f73c)
    • make fmt (535e967)
    • Merge branch 'main' into filter-refs-by-spec (9aa1d3d)
    • Merge branch 'main' into filter-refs-by-spec (1f6e5ab)
    • Merge branch 'main' into filter-refs-by-spec (51dc828)
    • Merge branch 'main' into filter-refs-by-spec (56ba481)
    • Merge branch 'main' into filter-refs-by-spec (a36c05d)
    • Release git-path v0.4.2, git-config-value v0.7.0 (c48fb31)
    • Merge branch 'main' into filter-refs-by-spec (cef0b51)
    • thanks clippy (c1399d1)
    • thanks clippy (e8e80f5)
    • Merge branch 'main' into filter-refs-by-spec (dbfa328)
    • thanks clippy (9b8a6d6)
    • thanks clippy (8317b46)
    • thanks clippy (01efe88)

Don't miss a new gitoxide release

NewReleases is sending notifications on new releases.