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()
anduser_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()
anduser_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)