git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Reece Dunn <msclrhd@googlemail.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Jon Smirl <jonsmirl@gmail.com>,
	Michael Witten <mfwitten@gmail.com>,
	git@vger.kernel.org
Subject: Re: What's in a name? Let's use a (uuid,name,email) triplet
Date: Thu, 18 Mar 2010 20:31:08 +0000	[thread overview]
Message-ID: <3f4fd2641003181331t4e70bed0yf1d03e20d1127705@mail.gmail.com> (raw)
In-Reply-To: <alpine.LFD.2.00.1003181248040.18017@i5.linux-foundation.org>

On 18 March 2010 19:50, Linus Torvalds <torvalds@linux-foundation.org> wrote:
>
> On Thu, 18 Mar 2010, Linus Torvalds wrote:
>>
>> (*) I'll give you one answer in the next email. But before you read that
>> email, try to think about it, and see if you can guess at patterns.
>
> Lookie here:
>
>  [torvalds@i5 linux]$ git log --pretty=full | grep '^Commit: ' | sort | uniq -c | sort -n | grep localdomain
>      1 Commit: Jeff Garzik <jgarzik@localhost.localdomain>
>      2 Commit: Dave Airlie <airlied@ppcg5.localdomain>
>      3 Commit: James Bottomley <jejb@sparkweed.localdomain>
>      3 Commit: James Morris <jmorris@localhost.localdomain>
>      3 Commit: James Morris <jmorris@macbook.localdomain>
>      4 Commit: James Bottomley <jejb@hobholes.localdomain>
>     32 Commit: Thomas Graf <tgr@axs.localdomain>
>    410 Commit: James Bottomley <jejb@mulgrave.localdomain>
>  [torvalds@i5 linux]$ git log --pretty=full | grep '^Author: ' | sort | uniq -c | sort -n | grep localdomain
>      1 Author: Alex Deucher <alex@hp.localdomain>
>      1 Author: Dave Airlie <airlied@ppcg5.localdomain>
>      1 Author: Eduardo Habkost <ehabkost@Rawhide-64.localdomain>
>      1 Author: Grzegorz Nosek <root@localdomain.pl>
>      1 Author: Izik Eidus <izike@localhost.localdomain>
>      1 Author: Jeff Garzik <jgarzik@localhost.localdomain>
>      2 Author: Esti Kummer <stkumer@localhost.localdomain>
>      2 Author: James Bottomley <jejb@mulgrave.localdomain>
>      3 Author: Dave Airlie <airlied@optimus.localdomain>
>      3 Author: James Bottomley <jejb@hobholes.localdomain>
>      3 Author: James Bottomley <jejb@sparkweed.localdomain>
>      4 Author: Cindy H Kao <evans@localhost.localdomain>
>      4 Author: Kristian Høgsberg <krh@localhost.localdomain>
>
> See? Mistakes happen. But look at what happens to the committer
> information? Think about it. Really _think_ about it. There is absolutely
> zero _technical_ difference between the two fields. The only difference is
> that "git log" by default shows one, and not the other.
>
> So as a human, which one do you think people care about and fix more
> quickly?
>
> And look at the numbers once more.

So... going back to the original problem, we have:

  1/  people making mistakes in the commit logs for whatever reason
(e.g. re-installation or a new computer);
  2/  people changing name (e.g. getting married) or changing email
(e.g. gmail.com to googlemail.com).

The problem is that it may be beneficial to see all the changes Cindy
H Kao made for example, including the ones made
@localhost.localdomain.

Having (user, email, uuid) will not solve the problem (even if the
uuid is from a memorable string) -- consider case 1. If you forget to
setup git, uuid will be blank or some random data, so this will be
worse than the (user, email) identity. As noted, there is also the
issue that git is used in a lot of places and not all git clone
instances are running the same version (e.g. pushing to an older git
client that does not support this new data).

What would be better is having a concept of identity aliases. That is,
a user can say that (for this git project), (user1,email1) is the same
person as (user2,email2). This would allow someone who has
mis-configured their git instance to say what the (user,email) pair
should have been. It also allows people to say that they used to be
called someone and they are now called somebody.

This information should ideally be in some form of (user,email) ->
(user,email) map that is versioned and tracked by git (in a way that
is also backward compatible, which could be tricky).

It also needs to be changeable and version tracked (i.e. with history)
to allow people to undo this; for example, this system would allow me
to say that Linus' (user,email) id is actually an alias for my
(user,email) which is bad. I don't know of a decent way to prevent
this (or someone using the uuid of someone else in the original
proposal), but this approach would at least allow it to be corrected.

There will need to be the related plumbing and porcelain to access and
manipulate this data/meta-data.

Would this be a better approach? Or is there a fatal flaw I am missing
(like people being able to alias themselves as other people, for
example)?

- Reece

  parent reply	other threads:[~2010-03-18 20:31 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-18 13:23 What's in a name? Let's use a (uuid,name,email) triplet Michael Witten
2010-03-18 13:48 ` Jon Smirl
2010-03-18 14:26   ` Michael Witten
2010-03-18 17:27 ` Linus Torvalds
2010-03-18 19:02   ` Jon Smirl
2010-03-18 19:07     ` Linus Torvalds
2010-03-18 19:16       ` Jon Smirl
2010-03-18 19:20         ` Linus Torvalds
2010-03-18 19:37           ` Jon Smirl
2010-03-18 19:47             ` Linus Torvalds
2010-03-18 19:50               ` Linus Torvalds
2010-03-18 20:01                 ` Linus Torvalds
2010-03-19 19:39                   ` Junio C Hamano
2010-03-18 20:31                 ` Reece Dunn [this message]
2010-03-18 20:59                   ` Linus Torvalds
2010-03-18 19:32       ` Michael Witten
2010-03-18 19:40         ` Linus Torvalds
2010-03-18 19:47           ` Michael Witten
2010-03-18 19:52             ` Linus Torvalds
2010-03-18 20:00               ` Michael Witten
2010-03-18 19:52             ` Wincent Colaiuta
2010-03-18 19:40         ` Wincent Colaiuta
2010-03-18 19:42         ` Martin Langhoff
2010-03-18 22:36   ` Martin Langhoff
2010-03-18 23:17     ` Nicolas Pitre
2010-03-18 23:26       ` Jon Smirl
2010-03-18 23:34         ` Nicolas Pitre
2010-03-18 23:41           ` Jon Smirl
2010-03-18 23:58             ` Nicolas Pitre
2010-03-19  0:16               ` Jon Smirl
2010-03-19  0:17                 ` Linus Torvalds
2010-03-19  0:39                   ` Jon Smirl
2010-03-19  0:50                     ` Linus Torvalds
2010-03-19  1:12                       ` Jon Smirl
2010-03-19  1:45                         ` Nicolas Pitre
2010-03-19  2:05                           ` Jon Smirl
2010-03-18 23:34       ` Michael Witten
2010-03-18 18:42 ` Michael Witten
2010-03-18 18:47   ` Matthieu Moy
2010-03-18 18:57     ` Michael Witten
2010-03-18 19:12   ` Nicolas Pitre
2010-03-18 20:44   ` tytso
2010-03-18 21:12     ` Michael Witten
2010-03-18 21:19       ` Martin Langhoff
2010-03-18 21:29         ` Michael Witten
2010-03-18 21:39           ` Martin Langhoff
2010-03-18 21:46             ` Michael Witten
2010-03-18 21:55               ` Martin Langhoff
2010-03-18 22:02                 ` Michael Witten
2010-03-18 23:37                   ` Nicolas Pitre
2010-03-18 23:44                     ` Michael Witten
2010-03-19  0:03                       ` Nicolas Pitre
2010-03-19  0:27                         ` Michael Witten
2010-03-19  0:32                           ` Nicolas Pitre
2010-03-18 22:06               ` Reece Dunn
2010-03-18 21:57             ` Michael Witten
2010-03-19 12:34               ` Paolo Bonzini
2010-03-19 12:43                 ` Michael Witten
2010-03-19 12:53                   ` Paolo Bonzini
2010-03-19 13:03                     ` Michael Witten
2010-03-19 13:08                       ` Paolo Bonzini
2010-03-19 13:13                         ` Michael Witten
2010-03-19 13:41                           ` Wincent Colaiuta
2010-03-19 13:59                             ` Michael Witten
2010-03-19 14:13                               ` Martin Langhoff
2010-03-18 21:27       ` Linus Torvalds
2010-03-18 21:44         ` Michael Witten
2010-03-18 23:12         ` Jon Smirl
2010-03-18 22:17 ` A Large Angry SCM
2010-03-19  2:47 ` Sitaram Chamarty
2010-03-19  5:17   ` Nazri Ramliy
2010-03-19  8:41 ` Michael Haggerty
2010-03-19 11:39   ` Michael Witten
2010-03-19 11:45     ` david
2010-03-19 11:54       ` Mike Hommey
2010-03-19 12:09         ` Reece Dunn
2010-03-19 12:16           ` Michael Witten
2010-03-19 12:18             ` Michael Witten
2010-03-19 14:57             ` Reece Dunn
2010-03-19 15:26               ` Michael J Gruber
2010-03-19 16:05                 ` david
2010-03-19 17:16                   ` Michael Witten
2010-03-19 12:25           ` Jon Smirl
2010-03-19 12:40             ` Reece Dunn
2010-03-19 12:09         ` Michael Witten
2010-03-22 12:06           ` Mark Brown
2010-03-22 14:38           ` Michael Witten
2010-03-24 19:18             ` Erik Faye-Lund
2010-03-24 19:23               ` Michael Witten
2010-03-19 12:08       ` Michael Witten
2010-03-19 14:08     ` Michael Haggerty
2010-03-19 17:02       ` david
2010-03-19 17:06         ` Michael Witten
2010-03-24 18:50           ` Avi Kivity
2010-03-19 14:08 ` Jakub Narebski
2010-03-19 14:33   ` Jon Smirl
2010-03-19 14:52     ` Michael J Gruber
2010-03-19 14:40   ` Michael Witten
2010-03-19 14:56     ` Erik Faye-Lund
2010-03-19 15:05       ` Michael Witten
2010-03-19 15:12         ` Michael Witten
2010-03-19 15:25         ` Erik Faye-Lund
2010-03-19 15:12     ` Reece Dunn
2010-03-20  0:21     ` Jakub Narebski

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=3f4fd2641003181331t4e70bed0yf1d03e20d1127705@mail.gmail.com \
    --to=msclrhd@googlemail.com \
    --cc=git@vger.kernel.org \
    --cc=jonsmirl@gmail.com \
    --cc=mfwitten@gmail.com \
    --cc=torvalds@linux-foundation.org \
    /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).