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 firstname.lastname@example.org, 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:
- Parse metadata from git show and git format-patch (T12256).
- And/or provide git push-based revision creation methods (T5000).
- 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.