feat(freeze): no authors in the config, no author check

A repository that takes commits from people it cannot list has no way
to freeze a range today: a null `authors` falls back to
`git config user.email`, so every foreign author or committer fails.
Null, or no key, now means neither is checked; the freeze warns that it
did not check them and records `authors` as null. A list is checked as
before. An empty list, which no commit could pass, is a config error
that points at null.
Released as 1.1.0.
This commit is contained in:
Jorijn van der Graaf 2026-11-02 13:57:20 +01:00
commit c6b4d78245
Signed by: jorijnvdgraaf
GPG key ID: 2937E59CDCC1BCFB
10 changed files with 52 additions and 49 deletions

View file

@ -56,7 +56,8 @@ export namespace Crafter::Review::Freeze {
bool replace = false;
bool worktree = false;
bool requireSigned = false;
std::vector<std::string> authors;
// The emails author and committer must be among; none: not checked.
std::optional<std::vector<std::string>> authors;
std::string aiTrailers = "forbid";
std::vector<std::string> allowDirty;
std::optional<std::string> configBase;