Parses, resolves, and serializes Git .mailmap entries.
The module operates on strings and does not perform file or Git repository access.
Examples
iex> entries = GitMailmap.parse("Proper Name <proper@example.com> <old@example.com>\n")
iex> GitMailmap.resolve(entries, "Old Name", "old@example.com")
%{name: "Proper Name", email: "proper@example.com"}
iex> GitMailmap.serialize(entries)
"Proper Name <proper@example.com> <old@example.com>\n"
Summary
Functions
Parses .mailmap content into entries in file order.
Resolves an identity through parsed mailmap entries.
Serializes entries to canonical .mailmap lines.
Types
Functions
Parses .mailmap content into entries in file order.
Invalid lines are silently ignored, matching Git.
Resolves an identity through parsed mailmap entries.
A matching name-specific entry takes priority over a general email entry.
Serializes entries to canonical .mailmap lines.
Raises ArgumentError when an entry cannot be represented by the format.