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

20 months ago

Bug Fixes

  • default author and committer time
    When needing to fallback to a default author or committer signature, the
    time from GIT_AUTHOR_DATE should only be used for the author and
    GIT_COMMITTER_DATE should only be used for the committer and not
    intermixed. This change enforces that constraint.

  • signature name and email resolution
    The name and email for the author and/or committer may come from different
    config files. For example, user.name may be set in the global config and
    user.email may come from the repository local config.

    This case was broken due to Personas.from_config_and_env() only looking in
    the last config section containing, for example, a "user" section. Thus if
    the user.name and user.email are split across multiple sections (i.e.
    originating from separate config files), the fallback name and email
    ("gitoxide" and "gitoxide@localhost") would be used.

    The solution is to use git_config::File::string() to lookup the name and
    email separately. The string() method correctly resolves the value by
    looking through all sections from all files in the correct order.

Other

  • name and email from different config sections
    The user.name, user.email, author.name, author.email, committer.name, and
    committer.email configuration may come from different sections from
    different config files. This new test exercises a couple of scenarios that
    are currently broken.

Reverted (BREAKING)

  • commiter_or_default(), author_or_default() and user_default().
    This means that all methods that previously succeeded by adding a default
    will now fail.

    This is preferable over 'doing something' and also admits that gits
    guesswork that tries to find user information by querying the system
    is nothing we want to repeat.

Commit Statistics

  • 14 commits contributed to the release over the course of 9 calendar days.
  • 9 days passed between releases.
  • 4 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Merge branch 'signature-resolution' (3036497)
    • fix tests (d6c62bd)
    • prepare changelogs prior to release (4381a03)
    • Merge branch 'signature-resolution' (0f7edc1)
    • commiter_or_default(), author_or_default() and user_default(). (87abb51)
    • default author and committer time (a05b1c4)
    • add explainers for asserts in test cases (53dd252)
    • Release git-index v0.12.1 (8aa5c1d)
    • Merge branch 'signature-resolution' (df3ebfc)
    • refactor (59262dd)
    • Release git-date v0.4.0, git-actor v0.17.0, git-object v0.26.0, git-traverse v0.22.0, git-index v0.12.0, safety bump 15 crates (0e3d0a5)
    • signature name and email resolution (ec7bf71)
    • name and email from different config sections (80dcb40)
    • Release git-transport v0.25.1 (e0b12fe)

Don't miss a new gitoxide release

NewReleases is sending notifications on new releases.