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

Idea: indirect authorship info

From
Yawar Amin <yawar.amin@gmail.com>
Date
Sep 11, 2023, 04:17 UTC
Message-ID
<CAJbYVJJUVUPNPpGAMGZKVWxYu2PiOf_16kzts009qpeLwoim+g@mail.gmail.com>
Hi,

I have an idea about enabling management of authorship info in a git repo, to make it easier to manage and potentially remove author/committer/tagger PII (in the context of GDPR), without having to change any commit history/SHAs. Apologies if this has been brought up before, but I failed to find anything relevant from some quick searches:

- https://lore.kernel.org/git/?q=indirect+authors
- https://lore.kernel.org/git/?q=authors+file
- https://lore.kernel.org/git/?q=people+file
Potential use cases:
- Someone requests that their names and email addresses be removed from a public
  repo's history under GDPR Right to be Forgotten (although, based on [1], it's
  not clear if projects could be forced to do honour RTBF or not)
- Someone requests that their legal name change be reflected in a public repo
I am interested in hearing your thoughts on this basic idea:
- On committing/tagging/creating a note, the identity of the author is not saved
  in the commit etc. object itself but in a separate file e.g. `.git/people`:
  `d0efaf97-e18a-4197-b2c0-61c05efec75e <-> Yawar Amin <yawar.amin@gmail.com>`
- Instead of the real identity of the author, a pointer to the `people` file
  entry is stored e.g. `Author: d0efaf97-e18a-4197-b2c0-61c05efec75e`
- If an entry for the person already exists in the `people` file, it is reused
- When syncing with a remote repo, new entries in the `people` file are synced
  along with other objects (in an append-only manner, not editing existing
  entries)
- Git uses the `people` file to cross-reference and fill in authorship
  info when it renders commit etc. objects like in `git log`, `git show` etc.
- If git can't find the authorship info in the `people` file it renders some
  appropriate default e.g. `(Unknown)`

Project owners (with write access to the hosted repo) are able to edit and push changes to the `people` file. In this way they can fulfill change requests like the ones I mentioned above.

Regards,
Yawar
[1] https://www.dataprotection.ie/en/individuals/know-your-rights/right-erasure-articles-17-19-gdpr
Next: Junio C Hamano
Message 1 of 2 in “Idea: indirect authorship info”
  1. Yawar AminSep 11, 2023
  2. Junio C HamanoSep 11, 2023

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.