Page MenuHomePhabricator

Add an "author email" field to the "Differential Diff" Herald rule
Closed, WontfixPublic

Description

This is a least-bad approach to a downstream KDE issue (https://phabricator.kde.org/T5242). Briefly:

  • Phabricator treats your profile email address as private information, and separate from commit email addresses (for example, I commit with git@epriestley.com, a junk address, because I expect it to be widely disseminated as machine-readable information and do not wish to be contacted by anyone at that address). In particular, arc land and arc patch do not generate synthetic authorship information using your profile information because this would disclose an address we consider to be private.
  • (EU privacy law also appears to favor this distinction, although we do not currently treat EU privacy law as a strong motivator for product design.)
  • If you copy/paste a git diff into Differential, authorship data is discarded by git.
  • If you copy/paste a git show or git format-patch into Differential, authorship data is discarded by the parser until T12256.
  • Like other open source projects, KDE has a diverse group of contributors, some of whom were born with a tragic allergy to PHP. This condition has no known cure, and exposure to arc would be instantly fatal.

As a consequence of all this stuff, KDE is seeing users copy/paste the output of git diff into Differential, and then maintainers need to run down authors to wrest committer information from them because it has been discarded before we reach arc land or arc patch.

A possible least-bad approach to tackling this is:

  1. Parse metadata from git show and git format-patch (T12256).
  2. And/or provide git push-based revision creation methods (T5000).
  3. Block git diff diffs in Herald with a message pointing users at instructions telling them to use git show, git format-patch, or git push instead.

We can accomplish (3) by adding a [ Diff author email ][ does not exist ] sort of field to Herald. This should be simpler and more accurate/general than something like a UI that lets you configure which formats Differential is willing to parse.

This might be mooted depending on how T5000 shakes out, if everyone just moves to git push instead of git <something else> + copy/paste.

Event Timeline

epriestley claimed this task.

KDE appears to be moving to GitLab (see: https://gitlab.com/gitlab-org/gitlab-ce/issues/53206) and we haven't seen this request from other installs, so I'm just going to close this out.

Better handling of plain text patches and author metadata remains desirable and will happen eventually, but the use cases these features enable (in large part, lowering the barrier to entry for first-time contributors and the barrier to involvement for part-time contributors) are generally not very relevant for our customers (where authors are usually full-time employees of the organization, the author and committer are usually the same, and very few authors copy/paste patches) so this featureset is hard to prioritize in general, and [ Diff author email ] specifically likely has few or no customer use cases.