git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
RDReece Dunn <msclrhd@googlemail.com>
Date
Mar 18, 2010, 20:31 UTC
Message-ID
<3f4fd2641003181331t4e70bed0yf1d03e20d1127705@mail.gmail.com>
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:
Show 41 quoted lines
>
> 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
Previous: Junio C HamanoNext: Linus Torvalds
Message 45 of 104 in “What's in a name? Let's use a (uuid,name,email) triplet”
  1. Michael WittenMar 18, 2010
  2. Jon SmirlMar 18, 2010
  3. Michael WittenMar 18, 2010
  4. Linus TorvaldsMar 18, 2010
  5. Michael WittenMar 18, 2010
  6. Matthieu MoyMar 18, 2010
  7. Michael WittenMar 18, 2010
  8. Nicolas PitreMar 18, 2010
  9. tytso@mit.eduMar 18, 2010
  10. Michael WittenMar 18, 2010
  11. Martin LanghoffMar 18, 2010
  12. Michael WittenMar 18, 2010
  13. Martin LanghoffMar 18, 2010
  14. Michael WittenMar 18, 2010
  15. Martin LanghoffMar 18, 2010
  16. Michael WittenMar 18, 2010
  17. Nicolas PitreMar 18, 2010
  18. Michael WittenMar 18, 2010
  19. Nicolas PitreMar 19, 2010
  20. Michael WittenMar 19, 2010
  21. Nicolas PitreMar 19, 2010
  22. Reece DunnMar 18, 2010
  23. Michael WittenMar 18, 2010
  24. Paolo BonziniMar 19, 2010
  25. Michael WittenMar 19, 2010
  26. Paolo BonziniMar 19, 2010
  27. Michael WittenMar 19, 2010
  28. Paolo BonziniMar 19, 2010
  29. Michael WittenMar 19, 2010
  30. Wincent ColaiutaMar 19, 2010
  31. Michael WittenMar 19, 2010
  32. Martin LanghoffMar 19, 2010
  33. Linus TorvaldsMar 18, 2010
  34. Michael WittenMar 18, 2010
  35. Jon SmirlMar 18, 2010
  36. Jon SmirlMar 18, 2010
  37. Linus TorvaldsMar 18, 2010
  38. Jon SmirlMar 18, 2010
  39. Linus TorvaldsMar 18, 2010
  40. Jon SmirlMar 18, 2010
  41. Linus TorvaldsMar 18, 2010
  42. Linus TorvaldsMar 18, 2010
  43. Linus TorvaldsMar 18, 2010
  44. Junio C HamanoMar 19, 2010
  45. Reece DunnMar 18, 2010
  46. Linus TorvaldsMar 18, 2010
  47. Michael WittenMar 18, 2010
  48. Linus TorvaldsMar 18, 2010
  49. Michael WittenMar 18, 2010
  50. Linus TorvaldsMar 18, 2010
  51. Michael WittenMar 18, 2010
  52. Wincent ColaiutaMar 18, 2010
  53. Wincent ColaiutaMar 18, 2010
  54. Martin LanghoffMar 18, 2010
  55. Martin LanghoffMar 18, 2010
  56. Nicolas PitreMar 18, 2010
  57. Jon SmirlMar 18, 2010
  58. Nicolas PitreMar 18, 2010
  59. Jon SmirlMar 18, 2010
  60. Nicolas PitreMar 18, 2010
  61. Jon SmirlMar 19, 2010
  62. Linus TorvaldsMar 19, 2010
  63. Jon SmirlMar 19, 2010
  64. Linus TorvaldsMar 19, 2010
  65. Jon SmirlMar 19, 2010
  66. Nicolas PitreMar 19, 2010
  67. Jon SmirlMar 19, 2010
  68. Michael WittenMar 18, 2010
  69. A Large Angry SCMMar 18, 2010
  70. Sitaram ChamartyMar 19, 2010
  71. Nazri RamliyMar 19, 2010
  72. Michael HaggertyMar 19, 2010
  73. Michael WittenMar 19, 2010
  74. david@lang.hmMar 19, 2010
  75. Mike HommeyMar 19, 2010
  76. Reece DunnMar 19, 2010
  77. Michael WittenMar 19, 2010
  78. Michael WittenMar 19, 2010
  79. Reece DunnMar 19, 2010
  80. Michael J GruberMar 19, 2010
  81. david@lang.hmMar 19, 2010
  82. Michael WittenMar 19, 2010
  83. Jon SmirlMar 19, 2010
  84. Reece DunnMar 19, 2010
  85. Michael WittenMar 19, 2010
  86. Mark BrownMar 22, 2010
  87. Michael WittenMar 22, 2010
  88. Erik Faye-LundMar 24, 2010
  89. Michael WittenMar 24, 2010
  90. Michael WittenMar 19, 2010
  91. Michael HaggertyMar 19, 2010
  92. david@lang.hmMar 19, 2010
  93. Michael WittenMar 19, 2010
  94. Avi KivityMar 24, 2010
  95. Jakub NarebskiMar 19, 2010
  96. Jon SmirlMar 19, 2010
  97. Michael J GruberMar 19, 2010
  98. Michael WittenMar 19, 2010
  99. Erik Faye-LundMar 19, 2010
  100. Michael WittenMar 19, 2010
  101. Michael WittenMar 19, 2010
  102. Erik Faye-LundMar 19, 2010
  103. Reece DunnMar 19, 2010
  104. Jakub NarebskiMar 20, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.