Extract textual object list parsing from Differential
Summary:
Ref T2222. Currently, Differential has a fairly hairy piece of logic to parse object lists, like Reviewers: alincoln, htaft. Extract, generalize, and cover this.
- Some of the logic can be simplified with modern ObjectQuery stuff.
- Make @username the formal monogram for users.
- Make list@domain.com the formal monogram for mailing lists.
- Add test coverage.
Test Plan:
- Ran unit tests.
- Called differential.parsecommitmessage with a bunch of real-world inputs and got sensible results.
Reviewers: btrahan
Reviewed By: btrahan
CC: aran
Maniphest Tasks: T2222
Differential Revision: https://secure.phabricator.com/D8445