From: Johannes Sixt <j6t@kdbg.org>
To: "brian m. carlson" <sandals@crustytoothpaste.net>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 1/1] mailmap: support hashed entries in mailmaps
Date: Sun, 13 Dec 2020 10:34:06 +0100 [thread overview]
Message-ID: <2cc4925f-3661-1dfb-2668-5f56edcb8455@kdbg.org> (raw)
In-Reply-To: <20201213010539.544101-2-sandals@crustytoothpaste.net>
Am 13.12.20 um 02:05 schrieb brian m. carlson:
> Many people, through the course of their lives, will change either a
> name or an email address. For this reason, we have the mailmap, to map
> from a user's former name or email address to their current, canonical
> forms. Normally, this works well as it is.
>
> However, sometimes people change a name or an email address and wish to
> wholly disassociate themselves from that former name or email address.
> For example, a person may have left a company which engaged in a deeply
> unethical act with which the person does not want to be associated, or
> they may have changed their name to disassociate themselves from an
> abusive family or partner. In such a case, using the former name or
> address in any way may be undesirable and the person may wish to replace
> it as completely as possible.
>
> For projects which wish to support this, introduce hashed forms into the
> mailmap. These forms, which start with "@sha256:" followed by a SHA-256
> hash of the entry, can be used in place of the form used in the commit
> field. This form is intentionally designed to be unlikely to conflict
> with legitimate use cases. For example, this is not a valid email
> address according to RFC 5322. In the unlikely event that a user has
> put such a form into the actual commit as their name, we will accept it.
>
> While the form of the data is designed to accept multiple hash
> algorithms, we intentionally do not support SHA-1. There is little
> reason to support such a weak algorithm in new use cases and no
> backwards compatibility to consider. Moreover, SHA-256 is faster than
> the SHA1DC implementation we use, so this not only improves performance,
> but simplifies the current implementation somewhat as well.
>
> Note that it is, of course, possible to perform a lookup on all commit
> objects to determine the actual entry which matches the hashed form of
> the data. However, a project for which this feature is valuable may
> simply insert entries for many contributors in order to make discovery
> of "interesting" entries significantly less convenient.
>
> Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
> ---
...
> diff --git a/t/t4203-mailmap.sh b/t/t4203-mailmap.sh
> index 586c3a86b1..794133ba5d 100755
> --- a/t/t4203-mailmap.sh
> +++ b/t/t4203-mailmap.sh
> @@ -62,6 +62,41 @@ test_expect_success 'check-mailmap --stdin arguments' '
> test_cmp expect actual
> '
>
> +test_expect_success 'hashed mailmap' '
> + test_config mailmap.file ./hashed &&
> + hashed_author_name="@sha256:$(printf "$GIT_AUTHOR_NAME" | test-tool sha256)" &&
> + hashed_author_email="@sha256:$(printf "$GIT_AUTHOR_EMAIL" | test-tool sha256)" &&
> + cat >expect <<-EOF &&
> + $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>
> + EOF
...
> + cat >hashed <<-EOF &&
> + $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> <$hashed_author_email>
> + EOF
> + git check-mailmap "$GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL>" >actual &&
> + test_cmp expect actual
I don't understand the concept. A mailmap entry of the form
A <a@b> <x@y>
tells that the former address <x@y>, which is recorded in old project
history, should be replaced by A <a@b> when a commit is displayed. I am
assuming that the idea is that old <x@y> should be the "banned" address.
How does a hashed entry help when the hashed value appears at the right
side of a mailmap entry and that literal string never appears anywhere
in the history?
-- Hannes
next prev parent reply other threads:[~2020-12-13 9:35 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-13 1:05 [PATCH 0/1] Hashed mailmap support brian m. carlson
2020-12-13 1:05 ` [PATCH 1/1] mailmap: support hashed entries in mailmaps brian m. carlson
2020-12-13 9:34 ` Johannes Sixt [this message]
2020-12-13 9:45 ` Johannes Sixt
2020-12-13 20:38 ` brian m. carlson
2020-12-14 0:09 ` Junio C Hamano
2020-12-16 0:50 ` brian m. carlson
2020-12-14 11:54 ` Ævar Arnfjörð Bjarmason
2020-12-15 11:13 ` Phillip Wood
2020-12-15 1:48 ` [PATCH 0/1] Hashed mailmap support Jeff King
2020-12-15 2:40 ` Jeff King
2020-12-15 11:15 ` Phillip Wood
2020-12-18 2:29 ` brian m. carlson
2020-12-18 5:56 ` Jeff King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2cc4925f-3661-1dfb-2668-5f56edcb8455@kdbg.org \
--to=j6t@kdbg.org \
--cc=git@vger.kernel.org \
--cc=sandals@crustytoothpaste.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).