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

Re: Dealing with corporate email recycling

From
Sean Allred <allred.sean@gmail.com>
Date
Mar 15, 2022, 01:27 UTC
Message-ID
<87o8282d79.fsf@gmail.com>
In-Reply-To
<878rtebxk0.fsf@gmail.com>

(CC others who have been involved in the conversation; I started a separate thread off the original post since this takes an entirely separate direction.)

I wanted to provide a possible approach for other organizations that may run into this issue in the future. If you have the opportunity that we do in rewriting history, we found a nice workaround by way of 'unique-ifying' the email address using the '+' syntax supported by most email providers -- notably for us, we tested that it does work with Exchange.

As I went through previously, the problem is that our organization recycles emails like <Sean@corp.net>. If the owner of <Sean@corp.net> leaves, I have the opportunity to take ownership of <Sean@corp.net> after a waiting period. This presents the core problem: <Sean@corp.net> could be two different people at two different points in time.

Our first approach to solving this problem was to collaborate with our internal IT folks to see if we could additionally generate a totally unique email address based on that employee's ID. For various reasons with which I'm not familiar enough to elaborate, this wasn't really possible -- we could not be provided a totally static email address for any given person. After bouncing the problem around internally for a while, we reached out to this list :-) and I think a lot of cool conversation is happening that I want to continue! It seems there is still value in finding a generalizable solution.

---

As for solutions that are *not* necessarily generalizable, what we were able to come up with is to use a 'unique-ified' email of the form <Sean+314159@corp.net>, where 314159 might be my employee ID. That way, even if another Sean might inherit <Sean@corp.net>, they can never inherit <Sean+314159@corp.net>. The use of this unique-ified email address will be enforced via pre-receive -- possibly checking for its existence in the mailmap as well.

Using this unique-ified email address, we can construct a mailmap like the following:

    Sean Allred <Sean@corp.net> <Sean+314159@corp.net>

This uses the already-built functionality of gitmailmap to interpret the committer email of <Sean+314159@corp.net> to the friendlier <Sean@corp.net> while still maintaining the requirement (for us) that the email on the commit be a real, usable email.

When I eventually get hit by a bus and give up <Sean@corp.net>, the mailmap can be updated to

    Sean Allred <devnull@corp.net> <Sean+314159@corp.net>
    Sean Allblue <Sean@corp.net> <Sean+271828@corp.net>
(possibly using some support list instead of <devnull@corp.net>).

This has proven itself in a few informal design chats already and is going to be the approach we take for our replay. I look forward to a future situation where we might be able to use SSH key validity periods instead :-) but that functionality will surely only be available after our migration in a few months' time.

I hope this helps others!

-- Sean Allred

Previous: Sean AllredNext: Peter Krefting
Message 27 of 28 in “Dealing with corporate email recycling”
  1. Sean AllredMar 12, 2022
  2. Junio C HamanoMar 13, 2022
  3. rsbecker@nexbridge.comMar 13, 2022
  4. Sean AllredMar 13, 2022
  5. rsbecker@nexbridge.comMar 13, 2022
  6. Sean AllredMar 13, 2022
  7. rsbecker@nexbridge.comMar 13, 2022
  8. Sean AllredMar 13, 2022
  9. Philip OakleyMar 13, 2022
  10. Sean AllredMar 13, 2022
  11. Junio C HamanoMar 13, 2022
  12. rsbecker@nexbridge.comMar 13, 2022
  13. Junio C HamanoMar 14, 2022
  14. Philip OakleyMar 14, 2022
  15. Junio C HamanoMar 14, 2022
  16. Philip OakleyMar 14, 2022
  17. Sean AllredMar 15, 2022
  18. Philip OakleyMar 15, 2022
  19. Philip OakleyMar 13, 2022
  20. Sean AllredMar 13, 2022
  21. Philip OakleyMar 14, 2022
  22. Ævar Arnfjörð BjarmasonMar 13, 2022
  23. brian m. carlsonMar 13, 2022
  24. rsbecker@nexbridge.comMar 13, 2022
  25. rsbecker@nexbridge.comMar 13, 2022
  26. Sean AllredMar 13, 2022
  27. Sean AllredMar 15, 2022
  28. Peter KreftingMar 18, 2022

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.