Page MenuHomePhabricator

Provide a standalone query for resolution of commit author/committer into Phabricator users
ClosedPublic

Authored by epriestley on Dec 19 2013, 4:42 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Nov 19, 5:28 PM
Unknown Object (File)
Sun, Nov 17, 8:35 AM
Unknown Object (File)
Sat, Nov 16, 4:27 AM
Unknown Object (File)
Fri, Nov 15, 12:58 PM
Unknown Object (File)
Fri, Nov 15, 12:58 PM
Unknown Object (File)
Fri, Nov 15, 12:57 PM
Unknown Object (File)
Fri, Nov 15, 12:57 PM
Unknown Object (File)
Mon, Nov 11, 6:03 PM
Subscribers

Details

Summary

Ref T4195. To implement the "Author" and "Committer" rules, I need to resolve author/committer strings into Phabricator users.

The code to do this is currently buried in the daemons. Extract it into a standalone query.

I also added bin/repository lookup-users <commit> to test this query, both to improve confidence I'm getting this right and to provide a diagnostic command for users, since there's occasionally some confusion over how author/committer strings resolve into valid users.

Test Plan

I tested this using bin/repository lookup-users and reparse.php --message on Git, Mercurial and SVN commits. Here's the lookup-users output:

>>> orbital ~/devtools/phabricator $ ./bin/repository lookup-users rINIS3
Examining commit rINIS3...
Raw author string: epriestley
Phabricator user: epriestley (Evan Priestley   )
Raw committer string: null
>>> orbital ~/devtools/phabricator $ ./bin/repository lookup-users rPOEMS165b6c54f487c8
Examining commit rPOEMS165b6c54f487...
Raw author string: epriestley <git@epriestley.com>
Phabricator user: epriestley (Evan Priestley   )
Raw committer string: epriestley <git@epriestley.com>
Phabricator user: epriestley (Evan Priestley   )
>>> orbital ~/devtools/phabricator $ ./bin/repository lookup-users rINIH6d24c1aee7741e
Examining commit rINIH6d24c1aee774...
Raw author string: epriestley <hg@yghe.net>
Phabricator user: epriestley (Evan Priestley   )
Raw committer string: null
>>> orbital ~/devtools/phabricator $

The reparse.php output was similar, and all VCSes resolved authors correctly.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

btrahan added inline comments.
src/applications/repository/management/PhabricatorRepositoryManagementLookupUsersWorkflow.php
2

this was a great idea