Thread (102 messages) flat view 102 messages, 21 authors, 2016-06-15

Re: What's in a name? Let's use a (uuid,name,email) triplet

From: Jon Smirl <hidden>
Date: 2016-06-15 22:48:27

On Fri, Mar 19, 2010 at 10:08 AM, Jakub Narebski [off-list ref] wrote:
Michael Witten [off-list ref] writes:
quoted
Short Version:
-------------


Rather than use a (name,email) pair to identify people, let's use
a (uuid,name,email) triplet.

The uuid can be any piece of information that a user of git determines
to be reasonably unique across space and time and that is intended to
be used by that user virtually forever (at least within a project's
history).

For instance, the uuid could be an OSF DCE 1.1 UUID or the SHA-1 of
some easily remembered, already reasonably unique information.
... or 'canonical-name canonical-email' pair.
quoted
This could really help keep identifications clean, and it is rather
straightforward and possibly quite efficient.


Long Version:
------------
[...]
quoted
While git's use of (name,email) pairs to identify each person is
extremely practical, it turns out that it's rather `unstable';
This is non-solution to non-problem.

First, the user.name and user.email does not need to be name and email
from some email account.  It might be some "canonical name" and
"canonical email".

Second, there are (I think) two main sources of 'unstability' in
(name,email) pairs, namely A) misconfigured git (when fetching/pushing
using git itself), B) wrong name in email etc. (when sending patches
via email, 80% of patches in Linux kernel case).
Another top source is mangling of non-ASCII charsets when they go
though the email system. Are the git work flow tools safe for
alternative charsets? Do the email tools look at the charset header of
the email message? Check people's names in the kernel commits and
you'll find lots of examples of this type of mangling.

Or people not using UTF-8. There are files in the kernel where
people's names are in conflicting codepages. Should git try to look
for diffs that aren't UTF-8?
In the case of misconfigured git (case A) using UUID wouldn't help,
and only make it worse (you would have to configure the same UUID on
each machine).  What would help here is for git to be more strict and
perhaps forbid (some of) autogenerated names and emails.

In the case of sending patches via email, you can use in-body 'From:'
to provide (name,email) part that is different than account used to
send email.  In the case of UUID you would need the same: some way to
provide UUID in patch (in email).  UUID has the disadvantage of being
required also when (name,email) in From: email header is good user ID.
So UUID wouldn't help there either.


What could help in both cases is .mailmap being used (perhaps on
demand) in more git commands.  See Documentation/mailmap.txt
or e.g. git-shortlog(1) manpage.  It is quite advanced tool for
correcting mistakes (it can correct *both* user name, which is
most common usage, but also email address).

--
Jakub Narebski
Poland
ShadeHawk on #git
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


-- 
Jon Smirl
jonsmirl@gmail.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help